日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]本文介紹的三種實現(xiàn)C32異步串行口的方法,前兩種方法使用不是非常方便,而且占用了大量的C32系統(tǒng)資源,一般都使用第三種方法來實現(xiàn)C32和PC機之間的通信。

高速數(shù)字信號處理器在現(xiàn)代工業(yè)控制中,非凡是電氣傳動控制中的應用非常廣泛。大量文獻介紹的應用于電氣傳動控制的DSP使用的是TI公司的,TMS320系列DSP芯片,這其中又以TMX210C3X和TMS320F24X為主流應用產(chǎn)品。TMS320C32是TMS320C3X系列產(chǎn)品中應用比較多的一種。主工業(yè)控制中,經(jīng)常需要使用上位PC機來控制底層的DSP芯片,一般采用異步串行通信協(xié)議,使用RS-232或485來實現(xiàn)。C32自身帶有的串口為同步串口。為了實現(xiàn)C32和PC機之間的串行口通信,必須擴展C32的全雙工異步串口功能。

C32實現(xiàn)UART接口的方法有三種:

使用C32的現(xiàn)有資源模擬串行口的功能;

使用可編程芯片實現(xiàn)同步和異步協(xié)議的轉換;

使用專用的異步通信器件實現(xiàn),例如PC機上使用16C550系列實現(xiàn)UART。

1 使用C32的現(xiàn)有資源模擬串行口的功能

通過使用兩個通用I/O引腳、兩個定時器和一個外部中斷,可以用軟件模擬UART的功能。使用中斷實現(xiàn)軟件模擬UART采用的通訊格式為:波特率9600bPs、8個數(shù)據(jù)位、一個停止位、無奇偶校驗位。這種實現(xiàn)方法由Ted Fried高級計算機通信公司提供。
1.1 硬件

圖1為硬件連接線圖。接收線同時接到INT0和XFl引腳。起始位數(shù)據(jù)的下降沿觸發(fā)外部中斷INT0。傳輸線接到XFO引腳,使用上拉電阻輸出。

1.2 軟件

1.2.1 接收數(shù)據(jù)

根據(jù)UAHT協(xié)議,接收到的第一個數(shù)據(jù)是起始位,在軟件中。起始位會觸發(fā)一個外部中斷INT0。害INT0的中斷服務程序例程RXINT0中,定時器0首先玻裝入一個時間常數(shù),這個時間常數(shù)的定時時間等于半個數(shù)據(jù)位的延遲時間;然后裝入定時器0的中斷向量表,并答應定時器中斷0,程序返回主程序,等待定時器0中斷。假如定時器0觸發(fā)中斷,RX-TMR-INT例程則開始技行接收工作。第一個定時時間為半個數(shù)捉位的時間.CPU在接收位的中間時刻采樣XFI的數(shù)據(jù),并且驗證接收到的數(shù)據(jù)是否為一個低電平。假如驗證正確,表示接收到的數(shù)據(jù)為一個起始位,就可以接收數(shù)據(jù)了。在接收數(shù)據(jù)時,重新裝載定時器0的定時值為一個數(shù)據(jù)位的時間并且啟動定時器0,程序返回主程序,等待定時器0中斷的到來。

在隨后的定時器0的服務程序中,實現(xiàn)了在接收位的中間時刻采樣接收線的狀態(tài)來得到實際數(shù)據(jù)。將這些接收到的數(shù)據(jù)移位到一個存儲器單元中。在第9次中斷時,對接收到的停止位進行驗證。假如正確,軟件執(zhí)行一個陷阱中斷,程序返回到主程序。假如不正確,調用BAD_STOP_BIT子程序進行相應的錯誤處理。接收數(shù)據(jù)被處理完后,重新答應外部中斷0,等待下一個起始位的到來。

1.2.2 發(fā)送數(shù)據(jù)

發(fā)送數(shù)據(jù)例程開始于主程序裝載一個數(shù)據(jù)到指定的存儲器中,并且調用TX_MAIN例程。在這個例程中,狀態(tài)定時器1的定時時間為一個數(shù)據(jù)位的時間,重新設置傳輸計數(shù)器的值,設置起始位,并且答應定時器l中斷,返回主程序,等待定時器1中斷的到來。只有傳輸計數(shù)器的值為0時,主程序才會答應重新裝載下一個需要傳輸?shù)臄?shù)據(jù)到指定的存儲器中。在定時器1的中斷子程序TX_INT中,程序將要傳輸?shù)臄?shù)據(jù)從XF0引腳上移位出去,直到傳輸計數(shù)器的值為0。

具體的程序代碼請見參考文獻。

2 使用FPGA實現(xiàn)異步和同步串行接口間的協(xié)議轉換

有許多應用需要使用硬件UART。使用FPGA可以將同步串行口協(xié)議轉換為異步串行口通信協(xié)議。具體的邏輯框圖如圖2所示。

系統(tǒng)使用的時鐘為25MHz,F(xiàn)PCA中使用的時鐘來源于C32的H3引腳。通信協(xié)議為:波特率9600bps、一個起始位、一個停止位、沒有奇偶檢驗位。圖3所示為傳輸電路。

通過設置傳輸定時器的定時值可以得到需要的9600bps的波特率。傳輸端口被配置為爆發(fā)傳輸模式,它可以產(chǎn)生UART的一個起始位。8個數(shù)據(jù)位之后的停止位可通過電路來實現(xiàn)。圖4為接收電路圖。

當電路檢測到起始位時,接收電路開始工作。起始位的邏輯擅為0。延遲電路在起始位的下降沿被激活。延遲電路的設置使數(shù)據(jù)的采樣發(fā)生在每個數(shù)據(jù)位的中間時刻,它提高了系統(tǒng)抗噪聲的能力。


3 使用ACE實現(xiàn)UART

微機上最早使用的ACE是8250,16C550是8250的功能升級器件。器件在結構上的最大差別是16C550增加了接收和發(fā)送FIFO,因此器件能夠處于交替工作模式,減輕CPU額外的軟件負擔。在這種模式下,無論是接收還是發(fā)送,在可訪問的緩沖寄存器和不可訪問的移位寄存器之間都增加了16字節(jié)的FIFO,可以使系統(tǒng)負擔最小且系統(tǒng)效率最高,而且所有的邏輯功能都在16C550芯片上完成。TLl6C550A有兩個管腳功能已經(jīng)被改變,使用這兩個信號可以答應信號使用DMA的方式來傳輸。

TLl6C550的主要功能為:TLl6C550在接收外部器件或MODEM的數(shù)據(jù)時?完成串行到并行的轉換;在接收CPU的數(shù)據(jù)時,完成數(shù)據(jù)的并行到串行的變換,并進行串行發(fā)送。在ACE器件工作的任何狀態(tài)下,CPU可以讀和通報ACE器件的狀態(tài)。通報的狀態(tài)信息包括:傳輸操作正在進行過程中、操作狀態(tài)、碰到了何種錯誤等,TLl6C550的內(nèi)部包含一個可編程的波特率發(fā)生器,波特率為16x內(nèi)部輸入時鐘頻率.此內(nèi)部輸入時鐘頻率由輸入的參考基準振蕩器分頻得到。TLl6C550具有完全的MODEM控制能力。包含一個處理器中斷系統(tǒng),根據(jù)用戶的專用需要而設計,在處理通訊連接時,計算量是最小的。TLl6C550有兩種封裝形式:N PACKAGE 和FN PACKAGE。TL16C550的管腳按功能可以分為:外部時鐘輸入及波特率控制信號;數(shù)據(jù)和地址總線;片選及讀寫控制信號;MODEM控制信號;復位及中斷控制信號。

假如C32要和PC機通訊,可使用TL16C550完成串行協(xié)議的轉換。TLl6C550的輸出接口要和一個電平轉換芯片連接,用于和PC機的串行通訊接口互聯(lián)。完整的接口示意圖如圖5所示。

其中的MAX232可以使用MAXIM公司的MAX3238來實現(xiàn)。

接口電路分為兩大部分:DSP C32和串行通訊芯片TLl6C550之間的接口;串行通訊芯片TLl6C550和PC機之間的接口。

完整的電路原理圖如圖6所示。

接口邏輯可以使用集成的CPLD實現(xiàn),本系統(tǒng)中使用的是ALTERA公司的EPM7128SLC184-10。它將芯片TLl6C550作為DSP C32的一個外設端口送行尋址。

相應的接口邏輯使用AHDL語言描述,具體如下:

TL16C550A一共使用8個地址對內(nèi)部寄存器進行訪問和控制。相對DSP C32系統(tǒng)而言,假如使用了上面的譯碼邏輯電路,則占用的8個地址為:0X818000~0X818007。

TLl6C550A串行接口寄存器的尋址表如表1所示。

DLABA2 A1 A0寄 存 器 名 屬 性 地址值 00 0 0接收緩沖寄存器RBR 只讀 0X818000 00 0 0發(fā)送緩沖寄存器TBR 只寫 0X818000 00 0 1中斷使能寄存器IER 讀/寫 0X818001 X0 1 0中斷標志寄存器IIR 只寫 0X818002 X0 1 0FIFO控制寄存器FCR 只寫 0X818002 X0 1 1線路控制寄存器LCR 讀/寫 0X818003 X1 0 0MODEM控制寄存器MCR 讀/寫 0X818004 X1 0 1線路狀態(tài)寄存器LSR 讀/寫 0X818005 X11 0MODEM狀態(tài)寄存器MSR 讀/寫 0X818006 X1 1 1便簽寄存器SCR 讀/寫 0X818007 10 0 0除數(shù)低字節(jié)鎖存器DLL 讀/寫 0X818000 10 0 1除數(shù)低字節(jié)鎖存器DLH 讀/寫 0X818001DLAB表示線路控制寄存器的第7位的邏輯值。

在程序中,使用邏輯地址0X818000~0X818007對TLl6C550A的各個寄存器進行尋址就可以了。

本文介紹的三種實現(xiàn)C32異步串行口的方法,前兩種方法使用不是非常方便,而且占用了大量的C32系統(tǒng)資源,一般都使用第三種方法來實現(xiàn)C32和PC機之間的通信。

使用TL16C550實現(xiàn)DSP和PC機的通信,接口方便、控制簡單、編程靈活,試驗證實它是非常簡便可靠的實現(xiàn)方法。

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉