<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何設計USB接口的RS485信號模擬器?

如何設計USB接口的RS485信號模擬器?

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

引 言

本文引用地址:http://dyxdggzs.com/article/201808/385615.htm

USB總線(xiàn)是一種高效、快速、價(jià)格低、體積小、支持熱插拔的串行通信接口,目前USB這一接口形式在電子產(chǎn)品的設計中得到了廣泛應用。本文所設計的 就是采用總線(xiàn),可以很方便與PC機進(jìn)行連接,并且可以為外界提供電源。 是一種平衡方式傳輸的串行接口標準,它的電氣特性標準中有嚴格規定,但它的通信協(xié)議可以由用戶(hù)自行定義。本文將詳細討論USB總線(xiàn)信號與 總線(xiàn)信號的相互轉換,及PC機終端應用軟件對芯片的各種操作。在此基礎上用戶(hù)可以根據不同需求,在終端應用軟件中自行設計通信協(xié)議。

1 總體設計

主要包括USB接口芯片、單片機子系統、RS485與TTL電平轉換子系統。它可以實(shí)現兩個(gè)功能:a.通過(guò)應用程序軟件設置串行通信參數和數據幀結構,最終輸出的信號是指定串行通信參數和數據幀格式的RS485總線(xiàn)數據,可以為采集器提供標準信號源;b.在信號模擬器內部可以實(shí)現信號自反饋功能,即將實(shí)際發(fā)送給采集器的數據通過(guò)信號模擬器內部回環(huán)電路回送給終端應用程序軟件并最終顯示出來(lái),以驗證信號模擬器發(fā)送數據是否正確。

USB接口芯片FT245R是將USB接口信號轉換成8位并行信號,由MCU讀取8位并行信號數據,然后MCU通過(guò)全雙工的串口將讀到的數據發(fā)送給 RS485電平轉換電路1,這樣輸出的信號就是滿(mǎn)足指定要求的標準RS485總線(xiàn)信號。將RS485電平轉換電路1輸出端信號反饋給RS485電平轉換電路2的輸人端,這樣可以把RS485電平轉換成TTL電平,再通過(guò)全雙工的串口進(jìn)行接收,最終將數據回送到終端應用程序軟件。信號模擬器的設計總體框圖如圖1所示。

2 硬件電路設計

2.1 USB接口芯片FT245R

FT245R由FTDI(Future Technology Devices Inte-national Ltd.)公司推出,該芯片主要完成USB串行總線(xiàn)和8位并行FIFO接口之間的相互協(xié)議轉換。整個(gè)USB通信協(xié)議全部由芯片自動(dòng)完成,開(kāi)發(fā)者無(wú)須考慮底層固件的編程。該芯片利用內部集成的時(shí)鐘電路進(jìn)行工作,無(wú)須外部提供時(shí)鐘;完全兼容USB2.O協(xié)議。它有256字節的接收緩沖區和128個(gè)發(fā)送緩沖區,可以進(jìn)行數據的大吞吐量操作。通過(guò)8位并行數據口D[O:7]和4位讀寫(xiě)狀態(tài)/控制口RXF、TXE、RD、WR就可實(shí)現與微控制器的數據交換。

下面介紹讀寫(xiě)FT245R FIFO操作時(shí)序要求。

(1)FT245R FIFO讀操作

讀操作時(shí)序如圖2所示。當RXF為低,表示當前FIFO接收緩沖區內有數據,可以執行讀操作讀取接收緩沖區數據。在RD電平由高變低,FIFO控制器將接收緩沖區中的數據輸出到8位數據端口上,MCU此時(shí)只需讀取I/O口就可以將數據取到內部數據總線(xiàn)上來(lái),再將RD信號拉高完成1字節數據的讀取。當將 FIFO接收緩沖區中的數據全部取出后,RXF被拉高表示數據為空。在RXF為高時(shí),禁止從FIFO接收緩沖區讀取數據。

(2)FT245R FIFO寫(xiě)操作

寫(xiě)操作時(shí)序如圖3所示。當TXE為低,表示當前FIFO發(fā)送緩沖區空,可以向發(fā)送緩沖區寫(xiě)入數據。在WR為高電平時(shí),MCU將8位數據D[0:7]送到并行I/O口上,在WR信號電平由高變低時(shí)數據被寫(xiě)入發(fā)送緩沖區中。當TXE為高時(shí),表示當前FIFO發(fā)送緩沖區已滿(mǎn)或者正在寫(xiě)入上一個(gè)字節,此時(shí)禁止向發(fā)送緩沖區中寫(xiě)入任何數據。MCU向FT245R寫(xiě)入數據時(shí)應確保TXE為低。

2.2 單片機子系統

單片機子系統包括單片機和上電復位芯片。本設計中采用的單片機是AT89S52。 AT89S52作為系統的中央處理器擔負著(zhù)系統和PC主機的通信、系統內各部件正常工作等重要任務(wù)。AT89S52這款單片機內部有看門(mén)狗電路,可防止程序陷入“陷阱”或跑飛。為了使單片機上電復位可靠,這里采用專(zhuān)門(mén)的復位芯片MAX708。

2.3 RS485接口電路設計

信號經(jīng)過(guò)單片機的UART接口,再經(jīng)過(guò)MAX485轉換即構成了RS485通信接口。

2.4 硬件電路圖

USB接口可以向外提供電源。USB接口規范規定:可提供電源電壓為4.75~5.25 V,低輸出功率USB端口最大的輸出電流為100mA。信號模擬器所需的供電電壓和電流滿(mǎn)足USB接口電源指標,因此采用USB接口為信號模擬器提供電源。

編者注:信號模擬器的電路原理圖見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。

3 軟件設計

軟件的設計主要包括單片機程序的設計和PC機終端應用程序的設計。

3.1 單片機程序設計

單片機程序采用C語(yǔ)言編程,程序結構清晰,可讀性和可維護性高。

3.1.1 單片機讀寫(xiě)FT245R FIFO緩沖區程序

單片機通過(guò)P0口來(lái)讀寫(xiě)FT245R FIFO緩沖區中的數據。P0口作為數據總線(xiàn),讀數據前,須向P0口全寫(xiě)1,這樣才能正確讀取數據。FT245R FIFO緩沖區讀寫(xiě)時(shí)序要求如前文所述。MCU讀寫(xiě)FT245R緩沖區程序如下:

3.1.2 單片機流程控制

MCU負責USB接口芯片FT245R的數據發(fā)送接收控制,單片機串口配置及串口接收發(fā)送任務(wù)。

整個(gè)程序的流程分為以下幾個(gè)步驟:

①單片機和FT245R的初始化,啟動(dòng)看門(mén)狗程序。

②對FT245R接收緩沖區有無(wú)數據進(jìn)行判斷,若無(wú)數據,喂狗;若有數據,轉向步驟③。

③對幀信息類(lèi)型進(jìn)行判斷,若為命令配置幀,則讀取FT245R接收緩沖區數據,然后對串口進(jìn)行配置;若為數據幀,轉向步驟④。

④串口數據發(fā)送接收采用查詢(xún)方式,MCU讀取FT245R接收緩沖區的1字節,然后通過(guò)串口進(jìn)行發(fā)送。

⑤判斷串口發(fā)送和接收是否完畢,若完成,將接收到的數據寫(xiě)入到FT245R發(fā)送緩沖區中;若未完成,喂狗,斷續執行⑤。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: USB接口 RS485 信號模擬器

評論


相關(guā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>