基于STD總線的多路數(shù)字I/O設(shè)計
3.1 部分程序代碼
部分程序代碼如下:
其中:addr是10位地址總線;bd是8位數(shù)據(jù)總線;en_245和dir_245分別是STD總線接口芯片74LS245的片選使能與方向信號;tempx是片內(nèi)寄存器;io_inx和outx分別是8位輸入、8位輸出I/O口。
3.2 性能描述
多路數(shù)字I/O口的選擇由10位地址決定,不同的地址操作不同的。I/O端口,在I/O非動態(tài)情況下,數(shù)據(jù)總線處于高阻狀態(tài),避免了總線沖突,同時也提高了I/O端口的穩(wěn)定性,減少了高速數(shù)據(jù)傳輸條件下引起不必要的錯誤,根據(jù)現(xiàn)場對I/O輸入、輸出的需要,可以修改程序,靈活改變端口的功能,另外,對于輸出端口,加入了數(shù)據(jù)寫出后讀回的功能,使得上位機能夠隨時驗證寫出數(shù)據(jù)的正確性,對于外設(shè)信號,通過信號調(diào)理板實現(xiàn)電平匹配,進一步增加了本設(shè)計的功能可靠性。
4 結(jié)語
以CPLD器件為核心,選用Xilinx公司的ISE作為硬件開發(fā)平臺,并采用VHDL編程語言,充分應(yīng)用了可編程邏輯器件的特點,發(fā)揮了VHDL硬件描述語言的編程優(yōu)點。減少了芯片數(shù)量,既做到了系統(tǒng)小型化又降低了成本。程序已通過綜合實驗,應(yīng)用了STD總線的通訊特點,與總線上的其他板卡、設(shè)備通訊也極為方便,既解決了工業(yè)通信網(wǎng)絡(luò)的一般問題,又達到了工業(yè)通用I/O的較高要求??傊?,該多路數(shù)字I/O設(shè)計容量高、功耗低、速度快,不僅具有通用性、實用性,而且具有靈活性和移植性,便于調(diào)試,為高速I/O開發(fā)設(shè)計提供了一種很好的嘗試,相信在很多行業(yè)都會有廣闊的應(yīng)用前景。本文引用地址:http://m.butianyuan.cn/article/162940.htm
評論