數字電子系統的EDA設計方法研究
2.1 控制模塊的設計
該模塊的任務是,控制ADC0804的工作時序,可分為S0~S3四個連續的步驟或狀態。任務分別是:使ADC0804準備轉換(狀態S0)、轉換(狀態S1)、CPLD準備讀取轉換結果(狀態S2)、讀取轉換結果(狀態S3)。各狀態由CPLD輸出腳CS、WR、RD的不同電平組合確定,主要的VHDL語句為:本文引用地址:http://www.104case.com/article/191900.htm
2.2 計算模塊
該模塊將A/D轉換結果分為高低4位,查表依次得到其BCD碼后再進行計算,計算結果與A/D轉換器的位寬和參考電壓Vref均有關。本文選用8位轉換器ADC0804,參考電壓為5.12 V,故能輸出從0~5.12 V按照0.02 V步進變化的256(28)個離散值。如表1所示。
電壓離散值可用8位二進制(或2位十六進制數)表示,表1中列出了輸出數字電壓高4位及低4位可能出現的16個值。如果CPLD從ADC20804接收到信號01101000B(即68H),對照表1高4位0110B是1.92 V,而低4位1000B是0.16 V,則最后的電壓輸出結果是1.92+0.16=2.08 V。
本文要求精確到兩位小數0.01 V,故將輸出電壓表示成12位的BCD碼形式。如上述的1.92 V是(000110010010)BCD,0.16 V是(000000010110)BCD,相加結果2.08 V是(001000001000)BCD。同理,若CPLD轉換數據01110000B(即70H),則計算結果2.24 V是(001000100100)BCD。因此計算模塊的設計主要包括一個12位的加法器及與之對應的存儲器。
評論