0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于TMS320C32和CS8900A芯片實現(xiàn)接口轉換器的設計

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:謝歡文,陳秋月, ? 2021-06-17 14:17 ? 次閱讀

作者:謝歡文,陳秋月,江太輝

許多測量和控制設備都是通過串口與其他設備通信,使設備間的數(shù)據(jù)交互和遠程控制受到限制。如果能把串口的數(shù)據(jù)轉換成網絡數(shù)據(jù)格式,組建一個局域網(LAN)來進行數(shù)據(jù)的交互與傳輸,則上述的限制將得到有效的改進??紤]到以太網組網技術的易于理解、實現(xiàn)、管理和維護,且成本低廉、網絡拓撲結構靈活的優(yōu)點,應用以太網組網技術來搭建數(shù)據(jù)交互的平臺。其中的關鍵就是接口轉換器的實現(xiàn)。

DSP芯片作為一種特殊的嵌入式微處理器系統(tǒng),具有嵌入的協(xié)處理器和用于快速數(shù)據(jù)處理的并行數(shù)據(jù)通道,而且DSP在語音圖像信號處理方面也具有強大功能。在嵌入式網絡設備中引入DSP技術,可以使嵌入式以太網變得更快,成本更低,也更容易進行功能擴充,因此選用DSP芯片作為接口轉換器的微控制器

為提高網絡通信效率,可以采用自定義的從數(shù)據(jù)鏈路層到應用層的網絡通信協(xié)議,以適應特定場合應用的需要;如果需要,還可以編寫一個自定義協(xié)議和TCP/IP互譯的網關軟件,實現(xiàn)嵌入式網絡和Internet的連接。

本文介紹的接口轉換器解決了車內的數(shù)字式語音通信系統(tǒng)的接口轉換問題。

1 接口轉換器的硬件設計

在設計一個嵌入式系統(tǒng)時,不但要考慮系統(tǒng)所要具備的功能,同時還要考慮價格、體積等因素。TMS320C3X系列芯片是TI公司推出的浮點運算DSP芯片。由于其較高的性價比,TMS320C3X的應用極其廣泛;由于將浮點運算與定點運算結合起來,具有更高的精度,并且不必考慮運算的溢出問題,因此浮點DSP具有更高的性能,更容易在系統(tǒng)的處理器上實現(xiàn)高級語言。TMS320C32是TMS320系列浮點數(shù)字信號處理器的新產品,在TMS320C30和TMS320C31的基礎上進行了簡化和改進。在結構上的改進主要包括:可變寬度的存儲器接口、更短的指令周期時間、可設置優(yōu)先級的雙通道DMA處理器、靈活的引導程序裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發(fā)中斷方式等。對TMS320C32的開發(fā)可以用匯編語言,也可以用C語言。使用匯編語言的優(yōu)點在于,運行速度快,可以充分利用芯片的硬件特性;但開發(fā)速度較慢,程序的可讀性差。使用C語言的優(yōu)勢在于,編程容易、調試速度快、可讀性好,可以大大縮短開發(fā)周期;但C語言對于其片內沒有映射地址的特殊功能寄存器不能操作,如IF和IE、AR0~AR7等。

以太網接口芯片采用CS8900A。該芯片是Cirrus Logic公司生產的一種局域網信號處理芯片,內部集成了片上RAM,其模擬前端包括曼徹斯特編解碼器、時鐘恢復電路、10BASE2T收發(fā)器濾波器及一個AUI(Attachment Unit Interface)接口。CS8900A的MAC(Medium Access Control,媒體訪問控制)引擎負責以太網數(shù)據(jù)幀的發(fā)送和接收、檢測和處理沖突,生成和檢測幀引導頭(Preamble),自動生成和校驗CRC(Cyclical Redundancy Check,循環(huán)冗余校驗)碼。芯片在網絡物理層符合IEEE 802.3以太網標準,支持全雙工操作,是嵌入式平臺實現(xiàn)10 Mbps以太網連接的很好的選擇方案。

接口轉換器的硬件框圖如圖1所示。DSP作為整個硬件模塊的CPU,SRAM用作外部數(shù)據(jù)存儲器,F(xiàn)lash用于存儲程序,CPLDFPGA用于擴展DSP的對外接口控制。虛線框是可擴展的模塊。

2 TMS320VC32與CS8900A的連接方法

CS8900A的20位地址線與TMS320VC32地址線低20位相連;CS8900A的16位數(shù)據(jù)線與TMS320VC32數(shù)據(jù)線低16位相連;數(shù)據(jù)總線高位使能端由A0控制。通過一片CPLD擴展TMS320VC32的外部控制功能,控制CS8900A的中斷請求、復位和讀寫操作。TMS320VC32與CS8900A連接關系如圖2所示。

設置以太網接口芯片CS8900A工作于I/O模式。通過對芯片各寄存器的操作可設置網絡終端接口電路的功能和讀取狀態(tài)信息。

CS8900A的主要寄存器有:

LineCTL 決定CS8900A的基本配置和物理接口,設置初始值為00D3H,選擇物理接口為10BASE2T。

RxCTL 控制CS8900A接收特定的數(shù)據(jù)報,設置RxTCL的初始值為0D05H,接收網絡上的廣播或目標地址與本地物理地址相同的正確數(shù)據(jù)報。

RxCFG 控制CS8900A接收到特定數(shù)據(jù)報后會引發(fā)接收中斷,RxCFG可設置為0103H,收到正確數(shù)據(jù)報時產生接收中斷。

BusCTL 控制芯片的I/O接口操作,設置初始值為8017H,打開CS8900A的中斷總控制位。

ISQ 中斷狀態(tài)寄存器。內部映射接收狀態(tài)寄存器和發(fā)送中斷寄存器內容。

Port0 發(fā)送和接收數(shù)據(jù)時,CPU通過Port0傳輸數(shù)據(jù)。

TxCMD 發(fā)送控制寄存器。如果寫入數(shù)據(jù)00C0H,那么網卡芯片在全部數(shù)據(jù)寫入后開始發(fā)送數(shù)據(jù)。

TxLength 發(fā)送數(shù)據(jù)長度寄存器。發(fā)送數(shù)據(jù)時,首先寫入發(fā)送數(shù)據(jù)的長度,然后將數(shù)據(jù)通過Port0寫入芯片。

系統(tǒng)上電時,首先對CS8900A進行初始化,寫寄存器LineCTL、RxCTL、RxCFG、BusCTL。發(fā)送數(shù)據(jù)時,寫控制寄存器TxCMD,并將發(fā)送數(shù)據(jù)長度寫入TxLength,然后將數(shù)據(jù)依次寫入Port0口,數(shù)據(jù)就可以發(fā)送出去了;接收到數(shù)據(jù)時,CS8900 A將觸發(fā)中斷,在其中斷處理程序中可以接收數(shù)據(jù)并處理。

3 接口轉換器的軟件設計

3.1 自定義網絡協(xié)議

在嵌入式網絡系統(tǒng)中,可以使用TCP/IP協(xié)議,但不夠經濟。原因是TCP/IP協(xié)議過于龐大,過于復雜,以至于效率低下。一方面是嵌入式系統(tǒng)各單元內部CPU的處理速度受限;另一方面,在某些特定場合特定任務的應用環(huán)境中TCP/IP功能冗余,阻礙了硬件效能的最大發(fā)揮。為此,針對特定的應用,制定相應的自定義網絡協(xié)議,靈活方便,針對性強,經濟實用。

下面單從數(shù)據(jù)應用的角度,定義一個簡單、實用的以太網傳輸協(xié)議。

3.2 協(xié)議層次

系統(tǒng)參照ISO的OSI模型,采用縮減的網絡體系結構。如圖3所示,網絡體系結構分為3層:物理層、數(shù)據(jù)鏈路層和應用層。物理層規(guī)定網絡的拓撲形式及通信信號的電氣特性;數(shù)據(jù)鏈路層實現(xiàn)點到點的通信規(guī)程,完全執(zhí)行IEEE802.3的CSMA/CD協(xié)議。

3.3 幀結構

以太網幀結構如下:

物理層的前同步碼(即物理幀前導符+物理幀界定符)8字節(jié)由硬件自動生成。除去這8個字節(jié),將其余字段的長度加起來,可以得到以太網幀的最大長度為1 518字節(jié),最小長度則為64字節(jié);加上8字節(jié)的前同步碼,即可得到最小幀長度為576位。這樣長度的幀能夠保證所有沖突都可以檢測到。這是因為IEEE 802.3標準中,兩個站點的最遠距離小于2 500 m,由4個中繼器連接而成,其沖突窗口為2倍電纜傳播延遲加上4個中繼器的雙向延遲之和,合計為51.2μs。就10 Mbps以太網而言,這個時間段內等于發(fā)送64字節(jié)(即512位)的數(shù)據(jù)。

使用CSMA/CD作為一種訪問控制方式,意味著最短數(shù)據(jù)幀長度與網絡上最長傳輸延遲時間間隔有著密切的關系。要保證在發(fā)送過程中出現(xiàn)沖突時,沖突域內的所有結點都應該知道發(fā)生了沖突,以便采取適當?shù)拇胧?。這就需要最短數(shù)據(jù)幀長度必須大于網絡上的最長傳輸延遲時間間隔,再加上阻塞附加時間和同步延遲時間等。這就是IEEE 802.3標準中最短幀長度為64字節(jié)的由來。

其中應用層幀類型分為數(shù)據(jù)幀和數(shù)據(jù)確認幀兩種,具體結構如下:

由于數(shù)據(jù)幀長度可變,又由于數(shù)據(jù)確認幀的MAC層長度僅為18字節(jié),故在網絡控制器初始化時須設置MAC層PAD填充功能(即MAC幀長度少于64字節(jié)時,網絡控制器自動將其填充至64字節(jié)后再交給物理層)。

自定義數(shù)據(jù)幀的預留管理單元還可以制定一些簡單的控制或管理信息幀,以便更好地擴充功能和組織軟件。限于篇幅,茲不贅述。如想連入Internet,需要在系統(tǒng)中加入一個能夠轉換本協(xié)議和TCP/IP協(xié)議的前端網關(實質上是一個交互翻譯的軟件系統(tǒng))。

3.4 程序設計流程

本接口轉換器所要實現(xiàn)的功能是把從RS232串口接收到的串口數(shù)據(jù)轉換成以太網幀格式發(fā)送到以太網,并把從以太網上接收到的幀數(shù)據(jù)解包轉換到串口傳送。程序設計中包含初始化程序、主循環(huán)、串行接口程序和網絡通信接口程序。

程序運行首先進行初始化工作,包括初始化CS8900A、初始化串口和初始化一些參數(shù),然后進入主循環(huán)。主循環(huán)內循環(huán)運行CS8900A中斷服務查詢程序和串口緩沖區(qū)查詢程序,若有CS8900A中斷申請,則中斷調用網絡通信接口程序;若串口緩沖區(qū)有數(shù)據(jù),則中斷調用串行接口程序。流程如圖4所示。

(1)串行接口程序

串行接口程序是DSP通過16C2550向外部數(shù)據(jù)口進行數(shù)據(jù)接收、發(fā)送的程序,目的是進行數(shù)據(jù)傳輸。此程序包括串口發(fā)送接收程序及數(shù)據(jù)組織程序。發(fā)送和接收通過中斷并發(fā)處理。整個串口發(fā)送程序在主循環(huán)中調用。其模塊的流程為:

發(fā)送 收到網絡串口數(shù)據(jù)→打開數(shù)據(jù)口→中斷發(fā)送;

接收 中斷接收→整理串口數(shù)據(jù)→發(fā)送到網絡上去。發(fā)送和接收邏輯流程如圖5所示。

(2)網絡通信接口程序

網絡接口程序是DSP通過CS8900A對系統(tǒng)的其他單元發(fā)送命令和接收信息的程序,目的是與系統(tǒng)的其他單元通信,接收與發(fā)送數(shù)據(jù)包和信令數(shù)據(jù)包。此程序包括網絡數(shù)據(jù)接收程序、網絡數(shù)據(jù)發(fā)送程序、數(shù)據(jù)組織程序。發(fā)送與接收服務程序流程如圖6所示。

結語

該接口轉換器已成功地應用于車內的數(shù)字式語音通信系統(tǒng)之中。結果表明,本方案成功地實現(xiàn)了數(shù)據(jù)的實時傳輸,可以給各種應用RS232串口進行數(shù)據(jù)傳輸?shù)那度胧较到y(tǒng)的聯(lián)網操作提供接口解決方案。本方案預留了升級擴展的功能。接入PCM編碼器并對程序作出相應改動,可實現(xiàn)語音的數(shù)字化網絡通信;接入A/D轉換器和各種傳感器可實現(xiàn)數(shù)據(jù)采集系統(tǒng)的聯(lián)網。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    552

    文章

    7920

    瀏覽量

    347647
  • 芯片
    +關注

    關注

    452

    文章

    50005

    瀏覽量

    419729
  • 轉換器
    +關注

    關注

    27

    文章

    8578

    瀏覽量

    146562
收藏 人收藏

    評論

    相關推薦

    TMS320C32的存儲接口設計

    TMS320C32是一個32位微處理,它可以通過24位地址總線、32位數(shù)據(jù)總線和選通信號對外部存儲進行訪問。
    發(fā)表于 11-21 14:39 ?2349次閱讀

    基于cs8900a在處理msp430f149的設計

    基于cs8900a在處理msp430f149的設計
    發(fā)表于 10-20 13:33

    CS8900A接口電路原理圖,很實用的

    )   BUSCT可控制芯片的I/O接口的一些操作。設置初始值為8017H,打開CS8900的中斷總控制位。   ·ISQ(0120H)   ISQ是網卡芯片的中斷狀態(tài)寄存
    發(fā)表于 04-07 15:37

    畢業(yè)設計急需CS8900A的原理圖

    畢業(yè)設計急需CS8900A的原理圖,有的話發(fā)郵件給我,76562556@qq.com謝謝!
    發(fā)表于 05-24 03:32

    cs8900a 電平問題

    誰知道CS8900A 的RX/TX 電平屬于什么規(guī)范(標準)。我只知道它是差分電平。具體屬于什么?就是CS8900連接網絡隔離變壓前的電平
    發(fā)表于 09-09 10:14

    TMS320VC5402+DSP與串行AD73360+A_D轉換器接口設計

    TMS320VC5402+DSP與串行AD73360+A_D轉換器接口設計
    發(fā)表于 11-12 23:15

    采用雙絞線連接的TM1300與CS8900A以太網接口的設計

    的設計、基于實時操作系統(tǒng)pSOS+驅動程序的設計等。本文介紹以太網控制CS8900A,并解決TM1300 DSP系統(tǒng)和CS8900A的硬件接口設計;簡單介紹pSOS+操作系統(tǒng)內核中
    發(fā)表于 04-24 07:00

    TM1300與CS8900A的以太網接口設計

    。CPU各功能模塊之間的協(xié)調、資源的分析、進程的調度,由運行在CPU上的一個由中斷源觸發(fā)的實時操作系統(tǒng)pSOS+控制?! 【W絡控制CS8900A是通過XIO總線與TM1300實現(xiàn)接口
    發(fā)表于 06-13 05:00

    關于以太網控制CS8900A的簡單介紹

    解決硬件接口電路的設計、基于實時操作系統(tǒng)pSOS+驅動程序的設計等。本文介紹以太網控制CS8900A,并解決TM1300 DSP系統(tǒng)和CS8900A的硬件
    發(fā)表于 06-17 05:00

    如何去實現(xiàn)TM1300與CS8900A的以太網接口設計?

    TM1300與CS8900A硬件接口電路設計CS8900A網絡接口驅動程序設計
    發(fā)表于 05-20 06:07

    TMS320VC5402 DSP與串行AD73360 A/D轉換器接口設計

    TMS320VC5402 DSP與串行AD73360 A/D轉換器接口設計
    發(fā)表于 11-02 11:00 ?12次下載

    高速模數(shù)轉換器TMS320C6000DSP接口的FIFO實現(xiàn)

    DSP 相連, DSP 通過脈沖觸發(fā)模式從FIFO 中讀取數(shù)據(jù)塊。介紹如何使用SN74ALVC7806 FIFO 實現(xiàn)TMS320C6201 與模數(shù)轉換器接口。 DSP 已經廣泛應用
    發(fā)表于 05-31 16:09 ?3次下載
    高速模數(shù)<b class='flag-5'>轉換器</b>與<b class='flag-5'>TMS320C</b>6000DSP<b class='flag-5'>接口</b>的FIFO<b class='flag-5'>實現(xiàn)</b>

    CS8900A網卡芯片介紹

    CS8900A網卡芯片介紹
    發(fā)表于 10-30 10:42 ?30次下載
    <b class='flag-5'>CS8900A</b>網卡<b class='flag-5'>芯片</b>介紹

    采用DSP器件TMS320C32實現(xiàn)存儲器接口的應用設計

    TMS320C32是美國TI公司生產的一款浮點數(shù)字信號處理(DSP),是TMS320系列浮點數(shù)字信號處理的新產品,其CPU是在TMS320C
    發(fā)表于 08-27 10:10 ?1095次閱讀
    采用DSP器件<b class='flag-5'>TMS320C32</b><b class='flag-5'>實現(xiàn)存儲器</b><b class='flag-5'>接口</b>的應用設計

    淺談TMS320C32的嵌入式RTOS視頻網絡檢測系統(tǒng)

    介紹了基于DSP芯片TMS320C32圖像處理平臺的網絡測試系統(tǒng),給出了使用專用視頻輸入處理芯片SAA711和CPLD實現(xiàn)高速連續(xù)視
    的頭像 發(fā)表于 05-26 15:15 ?2027次閱讀
    淺談<b class='flag-5'>TMS320C32</b>的嵌入式RTOS視頻網絡檢測系統(tǒng)