基于AT90S2343的串口智能轉換器
單片機I/O端口的分配和功能:PB3輸入,監(jiān)測主機PC-TXD信號;PB0輸出,接收使能信號;PB4輸出,發(fā)使能信號;PB2輸入,由K1設置雙工或半雙工通訊方式。
3 軟件設計
3.1 程序流程框圖
串行口智能擴展卡的程序流程圖如圖4所示。
3.2 半雙工通訊方式的軟件設計
在RS485半雙工通訊方式下,首先允許接收、禁止發(fā)送數據。在檢測到PC-TXD信號的數據起始位之后,通訊接口禁止接收、允許發(fā)送數據,并開始計時。通過檢測數據信號的每個脈沖寬度,確定其波特率和數據的發(fā)送位數,進而計算出每幀數據允許發(fā)送的時間。當計時時間大于或等于該時間時,該通訊接口禁止發(fā)送并允許接收數據。在接收狀態(tài)下,CPU重復檢測發(fā)送數據的起始位。當檢測到發(fā)送數據的起始位時,重復上述的數據發(fā)送的控制過程。
3.3 雙工通訊方式軟件設計
在RS422雙工通訊方式下,接收和發(fā)送使能信號始終有效,同時允許接收和發(fā)送數據。
圖4 程序流程圖
4 結束語
電路結構簡單、無須外部供電,筆者將它制作成串行口轉換器直接插接在串行口插口上即可。它具有通用性強、性能可靠、結構簡單、使用方便的特點。該電路使用了電源監(jiān)測和可編程的看門狗監(jiān)測定時器,使轉換器具有較強的抗干擾能力。該轉換器可廣泛應用于主從式多機通訊系統。
參考文獻
1. 吳秀清等,微型計算機原理與接口技術,中國科學技術大學出版社,1999.02
2. 李勛,耿德根,AVR單片機應用技術,北京航空航天大學出版社,2002.6
評論