當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文介紹的接口轉(zhuǎn)換器解決了車內(nèi)的數(shù)字式語(yǔ)音通信系統(tǒng)的接口轉(zhuǎn)換問題。

      引言
 

  許多測(cè)量和控制設(shè)備都是通過串口與其他設(shè)備通信,使設(shè)備間的數(shù)據(jù)交互和遠(yuǎn)程控制受到限制。如果能把串口的數(shù)據(jù)轉(zhuǎn)換成網(wǎng)絡(luò)數(shù)據(jù)格式,組建一個(gè)局域網(wǎng)(LAN)來(lái)進(jìn)行數(shù)據(jù)的交互與傳輸,則上述的限制將得到有效的改進(jìn)。考慮到以太網(wǎng)組網(wǎng)技術(shù)的易于理解、實(shí)現(xiàn)、管理和維護(hù),且成本低廉、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)靈活的優(yōu)點(diǎn),應(yīng)用以太網(wǎng)組網(wǎng)技術(shù)來(lái)搭建數(shù)據(jù)交互的平臺(tái)。其中的關(guān)鍵就是接口轉(zhuǎn)換器的實(shí)現(xiàn)。

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

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

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

  1 接口轉(zhuǎn)換器的硬件設(shè)計(jì)

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

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

  接口轉(zhuǎn)換器的硬件框圖如圖1所示。DSP作為整個(gè)硬件模塊的CPU,SRAM用作外部數(shù)據(jù)存儲(chǔ)器,F(xiàn)lash用于存儲(chǔ)程序,CPLD或FPGA用于擴(kuò)展DSP的對(duì)外接口控制。虛線框是可擴(kuò)展的模塊。

接口轉(zhuǎn)換器的硬件框圖

  2 TMS320VC32與CS8900A的連接方法

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

TMS320VC32與CS8900A連接關(guān)系

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

  CS8900A的主要寄存器有:

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

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

  RxCFG 控制CS8900A接收到特定數(shù)據(jù)報(bào)后會(huì)引發(fā)接收中斷,RxCFG可設(shè)置為0103H,收到正確數(shù)據(jù)報(bào)時(shí)產(chǎn)生接收中斷。

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

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

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

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

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

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

 3 接口轉(zhuǎn)換器的軟件設(shè)計(jì)

  3.1 自定義網(wǎng)絡(luò)協(xié)議

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

  下面單從數(shù)據(jù)應(yīng)用的角度,定義一個(gè)簡(jiǎn)單、實(shí)用的以太網(wǎng)傳輸協(xié)議。

  3.2協(xié)議層次

  系統(tǒng)參照ISO的OSI模型,采用縮減的網(wǎng)絡(luò)體系結(jié)構(gòu)。如圖3所示,網(wǎng)絡(luò)體系結(jié)構(gòu)分為3層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層。物理層規(guī)定網(wǎng)絡(luò)的拓?fù)湫问郊巴ㄐ判盘?hào)的電氣特性;數(shù)據(jù)鏈路層實(shí)現(xiàn)點(diǎn)到點(diǎn)的通信規(guī)程,完全執(zhí)行IEEE802.3的CSMA/CD協(xié)議。

網(wǎng)絡(luò)體系結(jié)構(gòu)

  3.3 幀結(jié)構(gòu)

  以太網(wǎng)幀結(jié)構(gòu)如下:

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

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

  其中應(yīng)用層幀類型分為數(shù)據(jù)幀和數(shù)據(jù)確認(rèn)幀兩種,具體結(jié)構(gòu)如下:

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

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

  3.4程序設(shè)計(jì)流程

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

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

初始化主循環(huán)程序

  (1)串行接口程序

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

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

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

發(fā)送和接收邏輯流程

  (2)網(wǎng)絡(luò)通信接口程序

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

發(fā)送與接收服務(wù)程序流程

  結(jié)語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉