《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于TMS320C6748的多路串行通信接口設(shè)計(jì)與實(shí)現(xiàn)
基于TMS320C6748的多路串行通信接口設(shè)計(jì)與實(shí)現(xiàn)
2019年電子技術(shù)應(yīng)用第7期
楊慶國(guó),陳 軍,肖貴林
湖南云箭集團(tuán)有限公司,湖南 長(zhǎng)沙410100
摘要: 在嵌入式飛行控制系統(tǒng)中,為了滿足小型化和集成化的要求,需要控制多個(gè)串口與外部設(shè)備通信。采用TMS320C6748作為核心處理器,通過(guò)EMIF總線實(shí)現(xiàn)和異步通信協(xié)議芯片TL16C754并行通信,采用3-8譯碼器74LS138擴(kuò)展多位片選信號(hào),實(shí)現(xiàn)集成擴(kuò)展多路串行通信接口的功能。底層驅(qū)動(dòng)基于TI的實(shí)時(shí)操作系統(tǒng)內(nèi)核SYS/BIOS進(jìn)行開發(fā),可減小設(shè)計(jì)的難度,并縮短了開發(fā)周期。試驗(yàn)結(jié)果表明,該設(shè)計(jì)方法能夠?qū)崿F(xiàn)多路數(shù)據(jù)的完整接收,數(shù)據(jù)傳輸完整可靠。
中圖分類號(hào): TN919;TP304
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190261
中文引用格式: 楊慶國(guó),陳軍,肖貴林. 基于TMS320C6748的多路串行通信接口設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2019,45(7):59-62.
英文引用格式: Yang Qingguo,Chen Jun,Xiao Guilin. Design and implementation of multi-channel serial communication interface based on TMS320C6748[J]. Application of Electronic Technique,2019,45(7):59-62.
Design and implementation of multi-channel serial communication interface based on TMS320C6748
Yang Qingguo,Chen Jun,Xiao Guilin
Hunan Vanguard Group Co.,Ltd.,Changsha 410100,China
Abstract: In the embedded flight control system,to meet it′s miniaturization and integration,it needs to control multi-serial ports to communicate with external equipments. TMS320C6748 is used to be a processor, which interfaces to TL16C754 by DSP′s EMIF,enlarges multi-selective signals to make use of 74LS138,and achieves multi-serial ports communication function with TL16C754. The driver is designed with the real-time operating system SYS/BIOS,which minishes design difficulty, and cuts empolder period. The test results show that the design method can achieve complete reception of multi-channel data, and the data transmission is complete and reliable.
Key words : TMS320C6748;EMIF;multi-channel serial communication interface;TL16C754;74LS138

0 引言

    微處理器DSP是一種為實(shí)現(xiàn)數(shù)字信號(hào)處理算法而生的器件[1],其硬件結(jié)構(gòu)上的特殊性表現(xiàn)在內(nèi)部存儲(chǔ)器采用程序總線和數(shù)據(jù)總線分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器[2]。但在嵌入式DSP系統(tǒng)應(yīng)用領(lǐng)域中,一般需要它同時(shí)與多個(gè)外部設(shè)備進(jìn)行數(shù)據(jù)交互和通信[3],其中串行通信接口因其簡(jiǎn)單可靠,仍是目前廣泛采用的技術(shù)[4],而當(dāng)前的DSP的串口較少,滿足不了多路串行通信接口能力。

    本文采用高速浮點(diǎn)處理器DSP作為嵌入式飛行控制系統(tǒng)的核心處理芯片,可實(shí)時(shí)地完成系統(tǒng)運(yùn)算和控制,充分發(fā)揮DSP在數(shù)字信號(hào)處理方面的技術(shù)優(yōu)勢(shì)[5]。設(shè)計(jì)了一種基于TMS320C6748的多路串行通信接口電路,采用異步通信協(xié)議芯片TL16C754和3-8譯碼器74LS138實(shí)現(xiàn)多路串行通信接口的集成與擴(kuò)展,底層驅(qū)動(dòng)基于TI的實(shí)時(shí)操作系統(tǒng)內(nèi)核SYS/BIOS進(jìn)行開發(fā)。不但減小了軟件開發(fā)難度,而且可以保障系統(tǒng)的穩(wěn)定性,使得開發(fā)周期大大縮短。

1 硬件電路設(shè)計(jì)

1.1 系統(tǒng)架構(gòu)設(shè)計(jì)

    基于DSP處理器的多路串行通信接口系統(tǒng)(以下簡(jiǎn)稱接口系統(tǒng))主要由控制電路和接口電路組成,系統(tǒng)架構(gòu)如圖1所示。其中,控制電路是系統(tǒng)的核心處理模塊,主要包括DSP處理器、存儲(chǔ)器、復(fù)位電路、時(shí)鐘電路、電源電路和JTAG等輔助電路;接口電路是實(shí)現(xiàn)多路串行通信的模塊,主要包括協(xié)議處理器、譯碼器、隔離電路和電平轉(zhuǎn)換電路等。

ck2-t1.gif

1.2 控制電路設(shè)計(jì)

    核心處理器DSP選用TI的浮點(diǎn)運(yùn)算低功耗芯片TMS320C6748,其主頻為456 MHz,具有高達(dá)3 648 MIPS和2 756 MFLOPS的運(yùn)算能力。

    時(shí)鐘電路采用時(shí)鐘信號(hào)為24 MHz OSC外部時(shí)鐘晶體輸出。

    電源電路采用集成電源供電方式,即內(nèi)核電壓和I/O電壓通過(guò)同一塊電源模塊供電,內(nèi)核電壓為1.2 V,I/O電壓為1.8 V和3.3 V,本系統(tǒng)采用了效率較高的電源管理芯片TPS650061RUK,其效率可以到90%,而且要求的壓降小。

    復(fù)位電路采用基于IPM811復(fù)位芯片進(jìn)行設(shè)計(jì),該芯片不僅具有上電復(fù)位和手動(dòng)復(fù)位功能,而且還具有電源電壓監(jiān)控功能,可輸出最小持續(xù)時(shí)間為140 ms的低電平有效復(fù)位信號(hào)。

    RAM存儲(chǔ)器采用TI的低功耗高速RAMMT47H64M16芯片,可為DSP提供更大的程序執(zhí)行/數(shù)據(jù)存儲(chǔ)空間。Flash存儲(chǔ)器采用SPANSION公司的S29GL128N芯片,用于系統(tǒng)軟件的固化存儲(chǔ)。

1.3 接口電路設(shè)計(jì)

    協(xié)議處理器采用TL16C754芯片,它是一款通用異步串行通信控制器,具有自動(dòng)軟件/硬件流控制能力,具有可以儲(chǔ)存、緩沖兩個(gè)異步時(shí)鐘之間數(shù)據(jù)傳輸[6]的64字節(jié)FIFO,并且通過(guò)可編程實(shí)現(xiàn)不同觸發(fā)水平來(lái)中斷;可編制數(shù)據(jù)為5 bit、6 bit、7 bit或8 bit,用于UART并行數(shù)據(jù)和串行數(shù)據(jù)的格式轉(zhuǎn)換。譯碼器采用3-8譯碼器74LS138芯片,可進(jìn)行8 bit數(shù)據(jù)轉(zhuǎn)換。

    系統(tǒng)通過(guò)TMS320C6748的EMIF數(shù)據(jù)總線與16C754A的8 bit數(shù)據(jù)總線連接,將TL16C754的地址配置在EMIF映射空間內(nèi),TMS320C6748的EMIF地址總線通過(guò)3-8譯碼器74LS138用于擴(kuò)展8 bit片選信號(hào),實(shí)現(xiàn)對(duì)8路RS422接口信號(hào)的選通。

    隔離電路采用ADI公司的六通道數(shù)字隔離器ADuM7643,實(shí)現(xiàn)接口電路的數(shù)字隔離。

    電平轉(zhuǎn)換電路采用驅(qū)動(dòng)總線收發(fā)器MAX490,實(shí)現(xiàn)RS422信號(hào)收發(fā)功能。它是一款低功耗收發(fā)器,用于RS422等串行數(shù)據(jù)接口標(biāo)準(zhǔn)系統(tǒng)中[7],內(nèi)部有驅(qū)動(dòng)和接收兩個(gè)模塊,最大傳輸速率為2.5 Mb/s。

    在硬件設(shè)計(jì)中,采用EMIF接口8位數(shù)據(jù)線與TL16C754端口一一對(duì)應(yīng),保證DSP與外部設(shè)備的正常通信,當(dāng)外部數(shù)據(jù)發(fā)送過(guò)來(lái),會(huì)觸發(fā)DSP的外部中斷。在譯碼器電路中,通過(guò)3個(gè)地址信號(hào)產(chǎn)生8路不同的片選信號(hào),當(dāng)譯碼器產(chǎn)生一路選通,對(duì)應(yīng)的并行數(shù)據(jù)就會(huì)傳輸?shù)娇偩€上,等待接收,接口電路原理圖如圖2所示。

ck2-t2.gif

2 驅(qū)動(dòng)軟件實(shí)現(xiàn)

    DSP驅(qū)動(dòng)軟件是基于TI的SYS/BIOS操作系統(tǒng)進(jìn)行設(shè)計(jì)開發(fā),開發(fā)環(huán)境選擇CCS5.5(Code Composer Studio)。系統(tǒng)的軟件分為:系統(tǒng)初始化模塊、UART驅(qū)動(dòng)模塊、系統(tǒng)中斷模塊。利用SYS/BIOS的多線程中斷控制來(lái)實(shí)現(xiàn)多路串行通信接口的功能,系統(tǒng)上電后硬件系統(tǒng)自動(dòng)將Flash存儲(chǔ)器中的程序加載到256 KB的片內(nèi)存儲(chǔ)器中開始運(yùn)行。

    首先,執(zhí)行對(duì)設(shè)備的CPU初始化,運(yùn)行cinit初始化運(yùn)行環(huán)境,調(diào)用SYS/BIOS系統(tǒng)函數(shù)初始化系統(tǒng)配置;然后調(diào)用main函數(shù),完成EMIF總線與時(shí)鐘等的初始化,完成系統(tǒng)自檢、數(shù)據(jù)結(jié)構(gòu)初始化、UART初始化等工作。在main函數(shù)結(jié)束返回后,調(diào)用BIOS_start,使能硬件中斷,開始按優(yōu)先級(jí)檢測(cè)并執(zhí)行串口硬件中斷服務(wù)子程序,軟件的功能在這些中斷任務(wù)的驅(qū)動(dòng)下完成,串口中斷主要完成數(shù)據(jù)的接收。

    本系統(tǒng)的軟件主要由DSP完成EMIF總線的讀寫時(shí)序和TL16C754的寄存器控制信號(hào)。

    (1)系統(tǒng)的初始化。初始化主要包括PLL配置,管腳復(fù)用控制寄存器(PINMUXReg)的配置,電源控制寄存器(PSC)的配置。因?yàn)門MS320C6748的管腳大多是復(fù)用的,所以需要根據(jù)應(yīng)用條件配置相應(yīng)的PINMUX寄存器。PSC是C67x的一大特色,通過(guò)配置PSC可獨(dú)立控制芯片某一部分的供電,可以最大限度地降低功耗。

    (2)GPIO中斷配置。TMS320C6748沒有獨(dú)立的外部中斷引腳,是通過(guò)配置GPIO作為中斷源信號(hào),在配置中斷時(shí)應(yīng)注意配置中斷的方向和觸發(fā)方式。

    (3)時(shí)序控制。通過(guò)配置CE4CFG寄存器對(duì)CE4空間的讀寫操作進(jìn)行控制。CE4CFG可以控制建立、選通、保持時(shí)間和數(shù)據(jù)寬度。本文將UART擴(kuò)展在EMIFA的CE4空間商,CE4擴(kuò)展空間的基地址為0x64000000,對(duì)UART進(jìn)行讀寫操作時(shí),對(duì)0x64000000地址進(jìn)行操作即可。DSP處理器通過(guò)WE、OE和CE4信號(hào)控制串口芯片,但需要3 bit地址線和CE4通過(guò)譯碼器片選8路UART信號(hào)。DSP對(duì)異步接口的讀取周期由建立時(shí)間、選通時(shí)間和保持時(shí)間組成。其關(guān)鍵程序設(shè)計(jì)如下:

    EMIFWaitTimingConfig(SOC_EMIFA_0_REGS,CHIP_

    SELECT_4,EMIFA_ WAITTIME_CONFIG(1,2,1,1,2,1,0));

    (4)多路UART中斷控制。TL16C754芯片提供4路中斷信號(hào),所以采用8路UART共享一個(gè)中斷資源的方式,在SYS/BIOS中調(diào)用中斷4(INT4)并行處理8路UART數(shù)據(jù),其中斷處理流程如圖3所示。

ck2-t3.gif

3 系統(tǒng)試驗(yàn)驗(yàn)證

3.1 單路串行接口測(cè)試

    隨機(jī)選取一路串口進(jìn)行試驗(yàn)測(cè)試。首先,將接口系統(tǒng)的通信接口與PC的RS232串口相連,PC按指定的配置參數(shù)啟動(dòng)串口通信,利用上位機(jī)測(cè)試軟件,向接口系統(tǒng)發(fā)送數(shù)據(jù)。該接口系統(tǒng)采用中斷方式對(duì)串口數(shù)據(jù)進(jìn)行接收,數(shù)據(jù)接收完整后,接口系統(tǒng)會(huì)將數(shù)據(jù)轉(zhuǎn)發(fā)出來(lái),PC收到后將其與原始數(shù)據(jù)比較,檢驗(yàn)是否一致,若一致,上位機(jī)測(cè)試軟件顯示串口測(cè)試成功,其測(cè)試結(jié)果如圖4所示。試驗(yàn)結(jié)果表明,單路串行通信接口數(shù)據(jù)傳輸完整可靠。

ck2-t4.gif

3.2 雙路串行接口測(cè)試

    現(xiàn)場(chǎng)測(cè)試時(shí),隨機(jī)選取接口系統(tǒng)的兩路RS422串口與外部的GPS接收機(jī)和IMU的串口連接,接口系統(tǒng)的通信接口與PC的RS232串口連接。利用兩個(gè)串口同時(shí)接收GPS接收機(jī)和IMU數(shù)據(jù)幀,存入相應(yīng)的數(shù)據(jù)緩存單元。接口系統(tǒng)DSP內(nèi)部驅(qū)動(dòng)不斷檢測(cè)是否接收到一幀的GPS和IMU數(shù)據(jù),若正確收到,則利用上位機(jī)測(cè)試軟件顯示出來(lái),并以數(shù)據(jù)文件的格式存儲(chǔ)下來(lái)。試驗(yàn)測(cè)試后,打開數(shù)據(jù)文件,所設(shè)計(jì)的多路串行通信接口能完整地接收GPS和IMU數(shù)據(jù)。其測(cè)試結(jié)果如圖5所示。試驗(yàn)結(jié)果表明,雙路串行通信接口數(shù)據(jù)傳輸完整可靠。

ck2-t5.gif

4 結(jié)論

    本文對(duì)基于DSP的多路串行通信接口系統(tǒng)進(jìn)行了設(shè)計(jì),該系統(tǒng)硬件接口電路簡(jiǎn)單,調(diào)試方便。采用DSP的EMIF控制方式完成數(shù)據(jù)的傳輸,通過(guò)異步通信協(xié)議芯片和譯碼器實(shí)現(xiàn)接口的集成與擴(kuò)展,解決了DSP內(nèi)部存儲(chǔ)器與外設(shè)之間數(shù)據(jù)傳輸?shù)乃俣葐栴},減輕了DSP的運(yùn)算負(fù)荷,提高了串行通行的實(shí)時(shí)性和可靠性。底層驅(qū)動(dòng)基于SYS/BIOS實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)開發(fā),不但減小軟件開發(fā)難度,而且可以保障系統(tǒng)的穩(wěn)定性,使得開發(fā)周期大大縮短。通過(guò)試驗(yàn)測(cè)試,所設(shè)計(jì)的多路串行通信接口系統(tǒng)能夠接收多路數(shù)據(jù),數(shù)據(jù)傳輸完整可靠,現(xiàn)已應(yīng)用于某預(yù)研項(xiàng)目中,為其后續(xù)的開展提供了有力保障。

參考文獻(xiàn)

[1] 于鳳芹.TMS320C6000DSP結(jié)構(gòu)原理與硬件設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2008.

[2] 張曉峰,李悅麗,黎向陽(yáng),等.一種基于FPGA和SC16C554實(shí)現(xiàn)多串口通信的方法[J].電子技術(shù),2009,46(6):34-36.

[3] 李海洋.基于DSP和FPGA的多功能嵌入式導(dǎo)航計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[D].南京:南京航空航天大學(xué),2003.

[4] 劉鳳新,趙堅(jiān)固.基于FPGA的多路并行獨(dú)立串口的實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2010(11):44-46.

[5] 史曉鋒,李錚,蔡志權(quán).基于DSP的高速數(shù)據(jù)采集與處理系統(tǒng)[J].電子技術(shù)應(yīng)用,2001,27(6):78-80.

[6] 喻少林,韓波,李平.基于FPGA的飛控計(jì)算機(jī)多路串行通信設(shè)計(jì)[J].計(jì)算機(jī)工程,2011,37(20):242-245.

[7] 蔣艷紅.基于FPGA的UART設(shè)計(jì)與應(yīng)用[J].計(jì)算機(jī)工程,2008,34(21):225-226.



作者信息:

楊慶國(guó),陳  軍,肖貴林

(湖南云箭集團(tuán)有限公司,湖南 長(zhǎng)沙410100)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。