基于CH341A的USB串口通訊設(shè)計
2.2 MCU與PC之間USB通訊適配
該適配電路適用于計算機無RS232接口,卻需進行RS232通訊的數(shù)據(jù)采集系統(tǒng),MCU進行底層相關(guān)數(shù)據(jù)的采集與存儲,然后在上位機的控制下通過適配電路進行數(shù)據(jù)的傳遞。MCU與PC機通過USB接口進行通訊的適配器原理電路如圖5所示,在本設(shè)計中MCU采用microchip公司的PIC1 6F877A,利用MCU的串口模塊,可以與CH341A直接構(gòu)成3線串口通訊方式,經(jīng)過CH341A轉(zhuǎn)換后,通過USB接口與PC機相連。當PC串口通訊波特率較高或者單片機來不及接收,利用MCU的RD0引腳控制CH341A的TEN#引腳,當MCU空閑且可以接收串口數(shù)據(jù)時置TEN#為低電平,當單片機較忙或者不便于接收串口數(shù)據(jù)時置TEN#為高電平。使CH341A暫停發(fā)送下一個字節(jié),實現(xiàn)速率控制。本文引用地址:http://www.ex-cimer.com/article/172896.htm
單片機軟件流程如圖6所示,系統(tǒng)初始化完成I/O口、看門狗等設(shè)置;串口初始化進行波特率、檢驗位、通訊方式等設(shè)置。
上位機軟件向單片機發(fā)送一個指令,當單片機檢測到該指令后判斷是否有鍵按下,如果有,則進行相應(yīng)鍵值的判斷,根據(jù)鍵值的不同向上位機發(fā)送不同的數(shù)據(jù)。在對本電路測試中,上位機指令代碼為“CCh”,單片機發(fā)送的數(shù)據(jù)與鍵值相對應(yīng),如按下1號鍵,發(fā)送數(shù)據(jù)“01h”,測試結(jié)果如圖7所示。
上述兩種產(chǎn)品結(jié)構(gòu)緊湊,體積小巧,通訊可靠,可以滿足絕大多數(shù)應(yīng)用場合的需求,但在通訊速率的設(shè)置上,應(yīng)盡量采用CH341推薦的波特率,否則可能出現(xiàn)通訊異常的情況。
實際上,CH341推薦的波特率基本涵蓋了各類通訊軟件及產(chǎn)品所采用的波特率,也與51系列MCU采用11.059 2 MHz晶振時設(shè)置的波特率相兼容,因此,推薦波特率也可以滿足各種場合的需求。
3 結(jié)束語
CH341A作為一種新型的、功能強大的USB接口轉(zhuǎn)換芯片,可以工作在多種模式,且接線簡單、控制方便、使用靈活,可滿足用戶的多種需求。由于CH341A屏蔽了USB接口的底層協(xié)議,可以方便地在嵌入式系統(tǒng)中增加USB接口,無需電平轉(zhuǎn)換器件,在驅(qū)動程序的控制下直接與PC機通訊,極大地方便了用戶,縮短開發(fā)周期、減少研發(fā)費用。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評論