劉亦萍, 李德運, 何學(xué)誠, 陳陶, 龍康, 楊奇凡
(上海第二工業(yè)大學(xué) 工學(xué)部,上海 201209)
CYPRESS公司在全球率先實現(xiàn)了在單芯片內(nèi)的“模擬和數(shù)字全混合陣列”[1],對未來電子系統(tǒng)的設(shè)計方法產(chǎn)生了深遠(yuǎn)的影響,在半導(dǎo)體技術(shù)高速發(fā)展的今天,芯片集成度越來越高,使得在單芯片上實現(xiàn)復(fù)雜系統(tǒng)成為可能,Cypress公司率先在業(yè)界實現(xiàn)了完全意義上的PSoC解決方案,即在單芯片上實現(xiàn)了MCU、數(shù)字和模擬系統(tǒng)的高度集成[2]。PSoC技術(shù)的不斷發(fā)展將大大推動電子系統(tǒng)設(shè)計方法的創(chuàng)新,并且對未來嵌入式系統(tǒng)設(shè)計領(lǐng)域帶來深遠(yuǎn)的影響。
本項目研究有限自動狀態(tài)機(jī)(Finite State Machine,FSM),利用摩爾狀態(tài)機(jī)設(shè)計編碼檢測器[3],用PSoC芯片實現(xiàn)數(shù)字編碼檢測器。
本文將介紹通過控制邏輯電路,對計數(shù)器控制查找表產(chǎn)生的1001序列進(jìn)行檢測,再通過編寫代碼實現(xiàn)在LCD屏幕上顯示出檢測到1001的次數(shù)。圖1是編碼檢測系統(tǒng)總框圖。
圖1 編碼檢測系統(tǒng)總框圖
圖2中a模塊是設(shè)計集成的十六進(jìn)制計數(shù)器,通過Q3,Q2,Q1,Q0狀態(tài)輸出控制查找表LUT實現(xiàn)所需1001信號的發(fā)生[4]。
圖2 信號發(fā)生集成圖
圖3為由查找表設(shè)計的檢測信號,in3,in2,in1,in0為Q3,Q2,Q1,Q0控制,Out0為檢測信號的輸出,其中含有2個1001序列。
圖3 1001檢測信號設(shè)計
設(shè)計1001序列檢測器的邏輯電路圖[5],因為檢測器通過分析有5種獨立的狀態(tài),所以使用了3個D觸發(fā)器(當(dāng)n=3時會產(chǎn)生23=8種狀態(tài))。
表1是檢測器的狀態(tài)轉(zhuǎn)換表,狀態(tài)轉(zhuǎn)換表列出了數(shù)據(jù)輸入端(Data_In)情況,并且狀態(tài)機(jī)將隨著輸入信號變化到兩種可能的下一狀態(tài)中的其中一個。
表1 1001序列檢測器狀態(tài)轉(zhuǎn)換表
通過狀態(tài)轉(zhuǎn)換表可得出各觸發(fā)器的布爾邏輯表達(dá)式與檢測器的輸出布爾邏輯表達(dá)式:(Data_In代表輸入,Detected代表輸出)
根據(jù)以上表達(dá)式,在PSOC 3.3平臺上設(shè)計出邏輯電路如圖4所示。
圖4 1001序列檢測器電路圖
將原理圖4集成為圖5中所示的jiance原理圖符號,簡稱為“1001邏輯序列檢測”[6]。
將1001信號發(fā)生與1001序列檢測相連,實現(xiàn)了1001序列檢測。
圖5 1001序列檢測模塊圖
對檢測出的1001信號的次數(shù)可以在LCD顯示屏上顯示[7]。圖6為計數(shù)顯示程序框圖。
圖6 計數(shù)顯示程序框圖
圖7為1001序列檢測系統(tǒng)集成原理圖。打開引腳分配見表2,進(jìn)行相應(yīng)的引腳分配[8],通過十六進(jìn)制計數(shù)器和查找表產(chǎn)生的1001信號,經(jīng)過數(shù)字電路構(gòu)成的1001序列檢測器檢測,由LCD顯示檢測出的1001的次數(shù)。程序經(jīng)編譯、下載到PSoC開發(fā)板上,并在PSoC板上連接好外部接線[9],經(jīng)過軟硬件聯(lián)調(diào)可見,1001序列檢測到則LED亮,并可在LCD顯示屏上顯示檢測到的次數(shù)。
表2 引腳分配
圖7 1001序列檢測系統(tǒng)原理圖
圖8 基于PSoC編碼檢測器的硬件實現(xiàn)
在數(shù)字系統(tǒng)中,有限自動狀態(tài)機(jī)(FSM)的應(yīng)用研究不多,在本項目里,通過Cypress公司開發(fā)的PSoC開發(fā)板上設(shè)計實現(xiàn)了1001序列的檢測,并通過PSoC C語言編程,實現(xiàn)了對檢測結(jié)果的計數(shù)和LCD的顯示[10]。圖8為基于PSoC編碼檢測器的硬件實現(xiàn)圖。
運用有限自動狀態(tài)機(jī)的設(shè)計方法,同時使用PSoC開發(fā)板與Cypress公司的PSoC 3.3開發(fā)平臺設(shè)計相結(jié)合縮短了開發(fā)周期。