<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > TMS320C30系統與PC104進(jìn)行雙向并行通信的方法

TMS320C30系統與PC104進(jìn)行雙向并行通信的方法

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

摘 要: 給出一種TMS320C30/PLD系統與PC104通過(guò)標準并行接口進(jìn)行雙向通信時(shí)擴展并口的方法,給出了硬件實(shí)現電路的框圖,分析了通信過(guò)程中握手信號的時(shí)序關(guān)系,并列出了通信測試程序的流程圖。

本文引用地址:http://dyxdggzs.com/article/201612/332856.htm

關(guān)鍵詞: 數字信號處理DSP可編程邏輯器件(PLD)VHDL并行通信

TMS320C30是TI公司的通用DSP芯片,它有很強的浮點(diǎn)/定點(diǎn)數據運算能力和很高的處理速度,特別適合于進(jìn)行實(shí)時(shí)的數據采集及運算處理如FFT,FIR、IIR濾波等。但是,DSP一般I/O能力及文檔處理能力較弱,所以,常常將DSP系統與PC104組成主機/從機系統,由PC104擔負系統的各模塊分機的管理、I/O設備的通信、文檔處理等任務(wù);而由DSP實(shí)現數據采集和實(shí)時(shí)處理。

因為C30沒(méi)有標準通信接口,需要進(jìn)行擴展。與PC機的通信可以通過(guò)標準異步串口進(jìn)行,也可以通過(guò)標準并口進(jìn)行,串口的特點(diǎn)是抗干擾能力強、連接較簡(jiǎn)單、編程也較方便,因而應用較廣泛;但在對實(shí)時(shí)性要求較高的場(chǎng)合,其通信速度往往不能滿(mǎn)足要求,這時(shí)可以通過(guò)標準并口進(jìn)行。標準并口的擴展可以采用通用并行接口芯片,如8255、TL16C552等。但是,由于現在的數字電路系統一般都包含PLD,可以利用PLD的資源進(jìn)行并行口的擴展,這樣做有很多優(yōu)點(diǎn):利用現有資源,節省器件成本;節省電路板尺寸;功能的修改或擴展較容易,便于與以后新的接口標準兼容;由于可以根據實(shí)際需要對通用接口芯片的功能進(jìn)行簡(jiǎn)化,軟、硬件的設計都更加方便。

1 PC104的并口結構

PC104的并行接口可以工作在PC/AT方式,在這種方式下,接口只能輸出數據,主要用于控制打印機等輸出設備。也可以工作在PS/2方式,在這種方式下,它可以雙向傳輸數據,我們就采用這種方式進(jìn)行PC104與DSP的通信,C30的并口也采用與PC104兼容的結構和編程方式。

標準并口的信號定義如表1所示。

其中包含八位雙向數據線(xiàn)(PD0~PD7),四根控制線(xiàn)(輸出)和五根狀態(tài)線(xiàn)(輸入)。

標準雙向并口的控制寄存器如表2所示。

寄存器位的定義與相應信號線(xiàn)的定義相同。但是,信號BSY、AFDn、STBn與寄存器中的定義是互為反向關(guān)系的,在編程時(shí)要注意。DIR控制數據的流向,為0時(shí)輸出,為1時(shí)輸入。PRINTn是打印機中斷狀態(tài)位,沒(méi)有使用;INT2EN是中斷允許控制位,可以不用,對這兩個(gè)寄存器位不做更多說(shuō)明。

2并口擴展的方法

2.1 硬件結構

我們采用四線(xiàn)握手制進(jìn)行通信,其連接如圖1所示。

根據這種要求我們可以設計出所需要的并行接口,如圖2所示。與標準并口相比,它只工作在雙向方式;狀態(tài)線(xiàn)、控制線(xiàn)都少一些但是可以根據實(shí)際情況擴充;與CPU的接口采用了較為簡(jiǎn)化的設計,信號定義如下:CF[7..0]為C30的擴展數據總線(xiàn)的低八位,XA[1..0]為擴展地址總線(xiàn)的低二位,CS為片選信號,XR/Wn為擴展總線(xiàn)的讀寫(xiě)控制信號,IOSTRBn為擴展總線(xiàn)的選通脈沖,INT為并口的中斷信號輸出,采用ACKn的下降沿觸發(fā)V30中斷,與標準并口不同(上升沿);寄存器的地址偏移量采用與標準并口相同的方式,基地址則可以由系統的設計決定。

并行接口的設計采用VHDL語(yǔ)言來(lái)描述,以適用于不同的PLD器件。

2.2 時(shí)序分析

下面我們描述通信過(guò)程的時(shí)序關(guān)系。通信程序在發(fā)送時(shí)采用查詢(xún)方式,而接收時(shí)則采用中斷方式。因為PC104與C30執行程序的速度不同,處理中斷的方式也不同,因而PC104發(fā)往C30與C30發(fā)往PC104時(shí)的握手信號的時(shí)序也有一些區別,圖3、圖4分別是兩種情況下的時(shí)序圖。圖中,只標出了時(shí)序的先后關(guān)系,具體的數值要遵守并口的標準并在程序調試中確定。

因為PC104的STBn的后沿(上升沿)是個(gè)斜坡(10μs)左右發(fā)送完一個(gè)字節后,要延時(shí)一段時(shí)間,待sTBn穩定后,才能發(fā)送下一個(gè)字節;否則,C30的中斷不能可靠觸發(fā),將造成通信的錯誤。發(fā)送速率為每字節15μs左右。

這種情況下限制發(fā)送速度的因素主要是PC104響應和處理通信中斷的時(shí)間,對C語(yǔ)言編寫(xiě)的接收程序進(jìn)行優(yōu)化也可以使通信速度控制在15μs左右。

2.3 軟件流程圖

下面我們舉一個(gè)例子來(lái)說(shuō)明PC104與C30進(jìn)行通信的過(guò)程。在這個(gè)調試程序中,PC104先發(fā)送一組數據,C30接受完后再返回一組數據給PC104,然后通信結束。圖5、圖6、圖7、圖8描述的分別是PC104上的主程序、接收中斷服務(wù)子程序、C30上的主程序以及接收中斷服務(wù)子程序的流程圖。

 



關(guān)鍵詞: 系統進(jìn)行雙

評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>