當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:利用現(xiàn)場可編程門陣列 FPGA實現(xiàn)單片機的外設(shè)接口電路可以簡化單片機系統(tǒng)的硬件電路,提高系統(tǒng)的集成度、可靠性和系統(tǒng)設(shè)計的靈活性。本文介紹了基于 FPGA的單片機外設(shè)接口電路的基本設(shè)計方法,分別給出了各個功

摘要:利用現(xiàn)場可編程門陣列 FPGA實現(xiàn)單片機的外設(shè)接口電路可以簡化單片機系統(tǒng)的硬件電路,提高系統(tǒng)的集成度、可靠性和系統(tǒng)設(shè)計的靈活性。本文介紹了基于 FPGA的單片機外設(shè)接口電路的基本設(shè)計方法,分別給出了各個功能模塊的設(shè)計思路和實現(xiàn)方法。所有功能的實現(xiàn)全部采用 VHDL進行描述。

0 引言

單片機具有性價比高、功能靈活、易于人機對話、數(shù)據(jù)處理能力強等特點。單片機應(yīng)用系統(tǒng)通常由鍵盤、顯示器、通信接口、存儲器、A/D、D/A電路等部分組成。傳統(tǒng)的單片機系統(tǒng)經(jīng)常要用標(biāo)準(zhǔn)的邏輯電路或?qū)S玫慕涌谛酒瑏斫M成外圍電路,如地址譯碼、I/O擴展等功能通常由標(biāo)準(zhǔn)的TTL/COMS邏輯電路或各種專用接口芯片實現(xiàn),這樣就會使系統(tǒng)的芯片數(shù)增多,接線復(fù)雜,從而使電路板面積增大、可靠性和 EMI性能減低,難以實現(xiàn)設(shè)計的小型化、集成化和高可靠性。而可編程門陣列FPGA的LCA結(jié)構(gòu)和它豐富的內(nèi)部資源可以用來設(shè)計各種組合邏輯和時序邏輯電路,因此使用FPGA設(shè)計單片機的外圍電路能夠大大簡化系統(tǒng)硬件結(jié)構(gòu),使系統(tǒng)的設(shè)計、修改和擴展都變的十分靈活方便。本文通過對FPGA器件進行功能設(shè)計,取代傳統(tǒng)單片機系統(tǒng)中外設(shè)接口用的標(biāo)準(zhǔn)邏輯電路和專用的接口芯片,使單片機系統(tǒng)的硬件電路大大簡化并提高其可靠性。當(dāng)需要改變系統(tǒng)性能時,可以通過對FPGA重新編程而不用改變硬件電路,提高了系統(tǒng)設(shè)計的靈活性。

1 系統(tǒng)設(shè)計方案

根據(jù)一般單片機系統(tǒng)設(shè)計的需要,本文所設(shè)計的系統(tǒng)具有以下幾個功能模塊,如圖1所示。

1 )通用邏輯模塊:根據(jù)具體的情況產(chǎn)生各種不同的邏輯電路及控制信號,代替?zhèn)鹘y(tǒng)的標(biāo)準(zhǔn)邏輯芯片。本文將其設(shè)計為擴展存儲器時用到的地址鎖存器。

2 )鍵盤接口模塊:代替?zhèn)鹘y(tǒng)的單片機與鍵盤的接口電路,用 FPGA編程完成消除抖動及按鍵識別功能。本文將其設(shè)計為4×4掃描鍵盤的通用接口。

3 )顯示接口模塊:代替?zhèn)鹘y(tǒng)的單片機與顯示器的接口電路,用 FPGA編程完成譯碼、掃描等功能。本文將其設(shè)計為4位七段動態(tài) LED接口。

1 )串并行接口模塊:實現(xiàn)單片機與其外設(shè)的串行或并行數(shù)據(jù)通信。本文將其設(shè)計為串行通信接口模塊。

2 )其他擴展模塊:實現(xiàn)單片機的一些其他常用功能,如 PWM驅(qū)動、A/D、D/A轉(zhuǎn)換的控制等。

本設(shè)計所采用的FPGA器件是 ALTERA公司的Cyclone-TM系列芯片 EP1C6Q240C8,它具有5980個邏輯單元, 92160個比特的嵌入 RAM。系統(tǒng)開發(fā)工具為硬件描述語言VHDL,開發(fā)平臺為Quartus Ⅱ。

2 系統(tǒng)模塊實現(xiàn)

2.1 通用邏輯模塊

FPGA可以設(shè)計成各種組合邏輯和時序邏輯電路,完成鎖存、三態(tài)輸出、多路選擇、編譯碼、計數(shù)、寄存等功能。在實際應(yīng)用中可以根據(jù)需要選擇相應(yīng)的功能模塊組成符合設(shè)計要求的邏輯功能。

本系統(tǒng)中設(shè)計的為擴展存儲器時用的地址鎖存器(功能與帶三態(tài)緩沖輸出的8D鎖存器

74LS373相似),其 VHDL描述為: process(oe,enable,d) begin if e='1' then

q<="ZZZZZZZZ";

else   if enable='1' then q<=d;   end if;

end if;

end procESS; 其中oe為三態(tài)門的使能信號,當(dāng) oe為低電平時三態(tài)門處于導(dǎo)通狀態(tài),允許q輸出到外部,當(dāng) oe為高電平時三態(tài)門處于斷開狀態(tài),輸出處于浮空狀態(tài); enable為鎖存控制信號,當(dāng)做鎖存器用時,應(yīng)使oe為低電平,這時,當(dāng) enable為高電平時,鎖存器輸出狀態(tài)與輸入狀態(tài)相同,當(dāng)enable從高電平返回到低電平(即下降沿)時,輸出不變,即輸入端的數(shù)據(jù)鎖入鎖存器中。

2.2 鍵盤接口模塊鍵盤是單片機應(yīng)用系統(tǒng)中一個很重要的部件,它能實現(xiàn)向系統(tǒng)輸入數(shù)據(jù)、傳送命令等功 能,是人工干預(yù)系統(tǒng)工作的重要手段。本文所設(shè)計的鍵盤接口電路框圖如圖2所示,由分頻電路、鍵盤掃描計數(shù)器電路、鍵盤按鍵檢測電路、按鍵抖動消除電路和鍵盤編碼電路等組成。

其中clock為時鐘脈沖, col為鍵盤的列輸入,row為鍵盤的行輸出,scan_f為掃描頻率, key_valid為按鍵確定信號,butt_code為按鍵值。首先,將外部時鐘信號分頻為適合鍵盤的掃描頻率;計數(shù)器的計數(shù)值輸出到按鍵檢測電路,檢測使用者是否按下鍵盤,同時輸出到鍵盤編碼電路對鍵盤數(shù)值編碼;當(dāng)使用者按下鍵盤時,按鍵檢測電路的 key_pressed將為0,并輸出到計數(shù)器使計數(shù)停止,同時抖動消除電路在確認使用者正確按鍵后,輸出按鍵確定信號。

2.3 顯示接口模塊

顯示功能是單片機應(yīng)用系統(tǒng)中實現(xiàn)人機對話的基本功能之一,用戶通過靈活的顯示方式方便的了解系統(tǒng)的工作情況。在簡單的應(yīng)用系統(tǒng)中常用LED數(shù)碼管或LCD顯示器顯示數(shù)據(jù)或工作狀態(tài)。本文設(shè)計的為一個4位七段動態(tài) LED數(shù)碼管顯示接口電路,電路框圖如圖3所示,它由BCD多路選擇器、BCD對應(yīng)七段顯示器編碼電路、計數(shù)譯碼電路和七段顯示器掃描電路等組成。其中clk為同步時鐘脈沖信號, flk_ena為掃描時鐘脈沖信號, bcd_data為輸入的BCD碼,ledseg為七段顯示器數(shù)值輸出, ledcom為七段顯示器輸出使能。

2.4 串并行接口模塊

雖然大多數(shù)單片機都帶有通用的串行接口,但自行設(shè)計的接口意味著更大的使用靈活性,特別是FPGA的高速特性允許更高的數(shù)據(jù)傳輸速度,在實用中有重要意義。作為范例, 本文設(shè)計了基于RS232-C標(biāo)準(zhǔn)的異步串行通信接口,它主要由數(shù)據(jù)總線接口、控制邏輯、波特率發(fā)生器、發(fā)送和接收等部分組成,其功能主要包括微處理器接口,用于數(shù)據(jù)傳輸?shù)木彌_器(Buffer)、幀產(chǎn)生、奇偶校驗、并轉(zhuǎn)串,用于數(shù)據(jù)接收的緩沖器、幀產(chǎn)生、奇偶校驗、串轉(zhuǎn)并等。

2.4.1 接收模塊

異步串行通信是逐個字符進行傳輸?shù)?,并且傳送的每一個字符格式都相同,均以一位起始位開始,中間有若干位數(shù)據(jù)位,然后是一位校驗位(可選),昀后是停止位,停止位后面是不定長度的空閑位。這樣就保證了起始位開始處一定有一個下跳沿。接收邏輯首先通過檢測數(shù)據(jù)的下降沿來檢測起始位,產(chǎn)生采樣時鐘,然后利用采樣時鐘來采樣串行輸入數(shù)據(jù),在緩沖器中做移位操作,同時產(chǎn)生校驗位,在第 8位處比較校驗位是否正確,在第 9位處比較停止位是否為高,然后產(chǎn)生錯誤指示信號。本文采用狀態(tài)機進行設(shè)計,其 FSM狀態(tài)轉(zhuǎn)換圖如圖 4所示。

2.4.2 發(fā)送模塊

發(fā)送部分檢測控制信號,當(dāng)有數(shù)據(jù)要發(fā)送時只要按順序依次發(fā)送 1位起始位、 5-7位數(shù)據(jù)位、一位校驗位(帶校驗時)和 1位(或 1.5位、2位)停止位即可。其 FSM狀態(tài)轉(zhuǎn)換圖如圖 5所示。

停止位發(fā)送完畢

無數(shù)據(jù)要發(fā)送發(fā)送停止位

3 結(jié)束語

將設(shè)計下載到芯片中,綜合報告顯示只消耗了FPGA很少的一部分資源。整個系統(tǒng)的功耗也大為降低。由于FPGA為大規(guī)模集成電路,其集成度和工作速度隨著技術(shù)進步和產(chǎn)品升級不斷提高,所以用FPGA實現(xiàn)單片機外圍接口電路可以大大改善單片機系統(tǒng)的性能,系統(tǒng)的外圍邏輯越是復(fù)雜,FPGA的潛力越能得到更好的發(fā)揮。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉