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