<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用TMS320F206控制的同步調(diào)制解調(diào)器

          采用TMS320F206控制的同步調(diào)制解調(diào)器

          作者: 時(shí)間:2010-12-22 來(lái)源:網(wǎng)絡(luò) 收藏

          介紹了一種數(shù)字信號(hào)處理器和調(diào)制解調(diào)芯片RC56D/SP設(shè)計(jì)的。該調(diào)制器解調(diào)器能在多種信道上實(shí)現(xiàn)數(shù)據(jù)的傳輸,具有廣泛的用途。

          本文引用地址:http://www.ex-cimer.com/article/151151.htm

          關(guān)鍵詞:調(diào)制解調(diào) 數(shù)字信號(hào)處理

          隨著數(shù)據(jù)通信的發(fā)展和普及,的應(yīng)用范圍越來(lái)越廣。歸結(jié)起來(lái),凡是需利用模擬信道實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)膱?chǎng)合,都需要用作為DCE,完成DTE與線(xiàn)路的連接。在很多場(chǎng)合,例如通過(guò)電力線(xiàn)通信專(zhuān)網(wǎng)傳輸各種自動(dòng)化信息時(shí),要求進(jìn)行同步傳輸。但目前市售的調(diào)制解調(diào)器均只支持異步通信。針對(duì)這種情況,我們研制了同步調(diào)制解調(diào)器。該調(diào)制解調(diào)器選用支持同步通信的RC56D/SP調(diào)制解調(diào)器芯片組完成調(diào)制解調(diào)功能,數(shù)字信號(hào)處理器實(shí)現(xiàn)有關(guān)的智能。

          1 RC56D/SP及簡(jiǎn)介

          RC56D/SP是Conexant(原Rockwell)公司出品的56k調(diào)制解調(diào)芯片。RC56D/SP包括一片8bit的微器(MCU)和一片數(shù)據(jù)泵(MDP),通過(guò)執(zhí)行固化在1Mbit(128K×8)RAM和2Mbit(ROM/Flash ROM內(nèi)的固件來(lái)完成操作。該器件TCM網(wǎng)格編碼技術(shù),兼容AT命令,支持V.42調(diào)制解調(diào)器鏈路存取協(xié)議(LAPM)和MNP10糾錯(cuò)協(xié)議,支持V.80同步傳輸協(xié)議。在同步方式下,發(fā)送時(shí)鐘可采用內(nèi)部、外部及從時(shí)鐘三種方式,且內(nèi)置鎖相環(huán)具有時(shí)鐘提取功能,可從接收的同步數(shù)據(jù)流里提取與對(duì)端發(fā)送時(shí)鐘完全同頻同相的時(shí)鐘信號(hào)作為自身及DTE的接收時(shí)鐘,該芯片最高可支持33.6K/s的同步速率。

          TMS320F206的CPU時(shí)鐘頻率為20MHz,具有豐富的片內(nèi)外資源,且擁有功能強(qiáng)大的異步及同步串行口。

          其異步串行口具有最大傳輸速率的全雙工發(fā)送和接收操作,數(shù)據(jù)的傳送通過(guò)發(fā)送器上的發(fā)送引腳(TX)和接收器上的接收引腳(RX)來(lái)完成。通過(guò)異步串行口寄存器(ASPCR)可以將IO0~I(xiàn)O3四個(gè)I/O口配置為握手控制信號(hào)以改善信號(hào)傳輸質(zhì)量。

          其同步串行口的發(fā)送和接收均涉及到一個(gè)4級(jí)先進(jìn)先出(FIFO)緩沖器。通過(guò)減少傳送過(guò)程中出現(xiàn)的發(fā)送或接收中斷的數(shù)量,FIFO緩沖器可減少CPU的開(kāi)鎖(在發(fā)送或接收數(shù)據(jù)時(shí))。同步串行口的操作時(shí)鐘可由內(nèi)部產(chǎn)生,也可來(lái)自一個(gè)外部時(shí)鐘源。采用內(nèi)部時(shí)鐘方式時(shí),發(fā)送和接收操作的最大速率為CPU時(shí)鐘頻率除以2.采用外部時(shí)鐘源時(shí),數(shù)據(jù)傳輸速率將隨著外部時(shí)鐘源變化。

          同步串行口的數(shù)據(jù)發(fā)送和接收操作必須上相應(yīng)的發(fā)送幀同步脈沖(FSX)和接收幀同步脈沖(FSR)啟動(dòng)。FSX既可由內(nèi)部產(chǎn)生,也可由外部產(chǎn)生。FSR必須由外部產(chǎn)生。

          同步串行口有連續(xù)及突發(fā)兩種操作模式,可支持一系列應(yīng)用。在連續(xù)模式下,只需要一個(gè)幀同步脈沖就可以連續(xù)發(fā)送或接收多個(gè)軟件包;在突發(fā)模式下,在每一個(gè)幀同步脈沖之后只允許發(fā)送或接收一個(gè)16bit單字。具有內(nèi)部幀同步的連續(xù)發(fā)送時(shí)序和具有外部幀同步的連續(xù)接收時(shí)序分別如圖1(a)和圖1(b)所示。

          同步串行口具有發(fā)送中斷(XINTs)和接收中斷(RINTs)兩個(gè)硬件中斷,它通知處理器FIFO緩沖器需要服務(wù)。通過(guò)對(duì)中斷產(chǎn)生條件進(jìn)行適當(dāng)?shù)脑O(shè)置,可使數(shù)據(jù)的發(fā)送和接收連續(xù)不斷地進(jìn)行。

          2 硬件電路設(shè)計(jì)及其工作原理

          系統(tǒng)硬件電路原理框圖如圖2所示。調(diào)制解調(diào)器采用異步連接同步傳輸?shù)墓ぷ鞣绞?即在異步方式下進(jìn)行連接,建立連接后進(jìn)入同步傳輸狀態(tài)。由于TMS320F206及MCU都為T(mén)TL電平,故它們之間可直接相連。異步串行口及同步串行口具體連線(xiàn)見(jiàn)圖3和圖4。調(diào)制解調(diào)器異步和同步數(shù)據(jù)使用MCU上的相同數(shù)據(jù)口。因此MCU發(fā)送引腳上的數(shù)據(jù)即為從DTE過(guò)來(lái)將要發(fā)送出去的數(shù)據(jù),而接收引腳上的數(shù)據(jù)為已經(jīng)解調(diào)的對(duì)端數(shù)據(jù),故TMS320F206的異步或同步數(shù)據(jù)發(fā)送(TXD)和接收(RXD)引腳對(duì)應(yīng)相連。由于MCU異步功能僅用于調(diào)制解調(diào)器的設(shè)置及連接,故可不使用流量控制功能,即握手信號(hào)可不用。所以將MCU的RTS及DTR引腳接地,使其長(zhǎng)期有效。

          TMS320F206數(shù)據(jù)發(fā)送采用外部時(shí)鐘、內(nèi)部幀同步及連續(xù)模式。接收則采用外部時(shí)鐘及連接模式,接收幀同步脈沖由MCU控制產(chǎn)生。當(dāng)調(diào)制解調(diào)器建立連接且MCU接收到第一幀數(shù)據(jù)時(shí),將控制脈沖形成電路產(chǎn)生一脈沖寬度與同步接收時(shí)鐘周期相同的單個(gè)脈沖,啟動(dòng)TMS320F206接收數(shù)據(jù)。因系統(tǒng)在無(wú)有用數(shù)據(jù)時(shí)也長(zhǎng)發(fā)一監(jiān)測(cè)信號(hào)以保護(hù)連接狀態(tài),故除非斷送,數(shù)據(jù)接收一經(jīng)啟動(dòng)就不會(huì)停止。TMS320F206的發(fā)送時(shí)鐘(TXCLK)及接收時(shí)鐘(RXCLK)均由調(diào)制解調(diào)器提供。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();