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