PLD與AVR總線通信接口VHDL設計與實現(xiàn)
本文引用地址:http://butianyuan.cn/article/192102.htm
4、仿真驗證結果
使用Quartus II 6.0 自帶的仿真軟件仿真結果如圖2和圖3所示。圖中ale、cs、rd、we、mcu_data 是激勵信號,表示ATmega64L 相應接口信號,conreg1和 conreg2 為EPM570 輸出信號,其目的是為了觀察仿真結果是否正確,而實際應用中應根據(jù)項目需求而進行添加或是減少相應的I/O口。
圖2是ATmega64L向 EPM570 寫數(shù)據(jù)過程。首先,在片選信號cs為低期間,在ale信號的下降沿,鎖存mcu_data上的數(shù)據(jù)到add內部地址鎖存寄存器。然后,在we信號低電平時,把mcu_data (0XAA)的數(shù)據(jù)直接寫到conreg1(B10101010),通過外接指示燈可以直接觀察結果是否正確,當然,在實際應用中可以把數(shù)據(jù)鎖存到內部寄存器中。
圖2寫數(shù)據(jù)0X“AA”到0地址處
圖3是讀數(shù)據(jù)過程。在片選信號為低期間,首先,在ale信號的下降沿,鎖存mcu_data(0X01)數(shù)據(jù)到add內部地址鎖存寄存器。然后,在rd信號的低電平期間,把內部寄存器地址為0X01的數(shù)據(jù)reg02(0xAA)讀到mcu_data數(shù)據(jù)線上傳回單片機ATmega64L。
圖3 讀地址為0X“01”上的數(shù)據(jù)0x“AA”并傳回數(shù)據(jù)總線
從讀寫數(shù)據(jù)圖中可以看出,ATmega64L對EPM570內部數(shù)據(jù)讀寫過程完全滿足ATmega64L數(shù)據(jù)手冊上的時序需要。關于ATmega64L的讀寫時序可以參考ATmega64L數(shù)據(jù)手冊。
5、結語
本文實現(xiàn)PLD與AVR ATmega64L通信接口設計是筆者設計的一種紡織機械控制設備的一部分,經(jīng)實際驗證完全正確,并已投入生產(chǎn)。簡單地修改該讀寫通信模塊,可應用于多個CPLD或FPGA與單片機通信接口的項目中,本模塊還可以根據(jù)需要擴展為16位、32位地址線的讀寫接口。
本文創(chuàng)新點:充分利用可編程邏輯器件豐富的I/O口和內部可編程邏輯資源,通過總線讀寫的方式通訊,使PLD和MCU的通信速度大大提高,同時也提高了嵌入式系統(tǒng)或是工業(yè)控制中的其他相關性能,極大提高產(chǎn)品的競爭力。
評論