C8051F 單片機實驗系統設計_第1頁
C8051F 單片機實驗系統設計_第2頁
C8051F 單片機實驗系統設計_第3頁
C8051F 單片機實驗系統設計_第4頁
C8051F 單片機實驗系統設計_第5頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【Word版本下載可任意編輯】 C8051F 單片機實驗系統設計 為滿足單片機學習中對實踐技能的要求,提高單片機開發系統的穩定性和可擴展性,降低系統功耗,設計了一種基于FPGA 的C8051F 單片機開發板。利用FPGA 實現鍵盤掃描、液晶驅動、地址譯碼以及其他外設接口,大幅度簡化外圍電路構造。系統可在高低頻時鐘間切換以減小功耗,并增加了音頻處理模塊,實現基本的音頻信號的存儲和回放。實驗結果說明,該電路板相比普通的單片機開發板系統功耗減小50%左右,擁有達25 MIPS 的處理速度,單片機可以直接驅動多達20 多個LS TTL 門電路,FPGA 的引入使得外擴其他電路更為方便和靈活, 具有良好

2、的擴展性。 目前高校單片機教學中大多是以MCS51 單片機為機型開展講解, 所開發的教學實驗系統也多是基于MCS51系列單片機開發設計的。然而, 隨著單片機的應用進入SoC時代,其缺陷和缺陷也顯而易見:片上資源不夠豐富,功耗較大,處理速度很有限,電路龐大且復雜,可靠性和可維護性較差,難以滿足高水平的設計要求。 為了進一步簡化電路構造, 提出一種C8051F 單片機實驗系統設計方案,該方案采用FPGA 實現單片機各種外設接口。FPGA 作為一種可編程邏輯器件憑借其優越的可擴展性能受到設計者的青睞,逐漸成為分立元件的替代者。通過對FPGA 編程,實現任何數字元件的邏輯功能,設計者可以通過原理圖輸入

3、或硬件描述語言, 方便地設計一個數字系統,這使得單片機外圍電路的設計簡單、靈活、可靠。 本系統是為單片機實踐教學而開發的,因此要求單片機的功能齊全,滿足教學中各種實驗的要求。一般的實驗板的功能有:模擬數字信號轉換實驗、通信接口實驗、存儲器實驗、各種顯示實驗,人機交互實驗等等。除此之外,還要考慮由于是非商業性質的開發, 對一些功能的精度要求不是很高,在選擇理想價格的同時,選擇盡可能多而全的片上資源,留待后期開發擴大。 基于以上考慮,該平臺使用SoC 系統級的C8051F020 單片機作為控制器,Cyclone EP2C8 型FPGA 實現外設接口,加上LCD、鍵盤、UART 串口等人機交互的模塊

4、。 C8051F 系列單片機是以流水線方式處理指令的CIP-51內核,完全集成的混合信號系統級芯片(SoC),片內集成了數據采集和控制系統中常用的模擬、數字外設及其他功能部件。C8051F020 單片機具有片內調試電路, 通過4 引腳的JTAG 接口可以開展非侵入式、全速的在系統調試。 FPGA 即現場可編程門陣列, 它是作為專用集成電路(ASIC) 領域中的一種半定制電路, 既解決了定制電路的缺陷,又克服了原有可編程器件門電路數有限的缺點。FPGA使用靈活,同一片FPGA 通過不同的編程數據可以產生不同的電路功能。 1 系統總體方案 本文設計并實現了基于FPGA 的單片機開發平臺,該平臺主要

5、包括有:單片機及其外設、FPGA 擴展電路、電源及電路。開發平臺框架如圖1 所示。 1.1 單片機外設 包括液晶顯示器(LCD)、鍵盤、SRAM、UART 串口等,對FPGA 開展編程來實現LCD、鍵盤、SRAM 的接口電路。 1.2 FPGA 擴展電路 包括主動串行(AS)配置電路、JTAG 在線調試電路、輸入輸出電路等。采用EPCS1N8 型芯片對FPGA 開展主動串行(AS)配置,同時兼有JTAG 在線調試模式。 1.3 電源及電路 單片機和FPGA 均采用3.3V/1.2V 穩壓源供電, 兩者均可通過JTAG 接口開展在線調試。 FPGA 和單片機以典型的三總線連接開展數據通信及控制,

6、單片機內部集成的數字/模擬資源和FPGA 剩余的引腳通過插針引出,供用戶使用。將以上模塊有機結合起來,形成一個性能優越的開發平臺,能夠滿足不同層次的設計需求。 2 硬件電路設計 在單片機系統的人機交互部分通常有液晶顯示器(LCD)、鍵盤和存儲器等外設,因此需要用大量的標準邏輯器件對單片機開展擴展,這些器件的組合使用會導致設計周期長、可維護性差,用FPGA 來實現單片機的外圍接口電路,能大大簡化電路構造,節省CPU 資源。 2.1 鍵盤接口模塊 因為按鍵機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定的導通,在斷開時也不會馬上斷開,因而在閉合及斷開的瞬間都會伴隨一連串的抖動,對于靈敏度較高的

7、電路,這種抖動可能會造成誤動作而影響操作正確性。常用的去抖動的方法為延時去抖動法,即檢測出鍵閉合后執行一個延時程序,產生510 ms 的延時;讓前沿抖動消失后,再檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當檢測到按件釋放后,也要給510 ms 的延時,待后沿抖動消失后,才能轉入該鍵的處理程序。 對FPGA 編程完成消除抖動及按鍵識別,由抖動消除模塊、鍵盤掃描電路、鍵盤譯碼電路、按鍵數據存放器等組成。 鍵盤接口電路的工作流程為:采取逐行掃描法,FPGA 周而復始地對鍵盤開展掃描,當有鍵按下時,先對按鍵開展延時去抖處理,將按鍵信號存入存放器,掃描信號來臨時,根據按鍵掃描碼查找鍵碼

8、表,并將其送回給單片機。程序流程如圖2 所示。 2.2 液晶顯示模塊 液晶顯示器(LCD)以其微功耗、體積小、顯示內容豐富、超薄輕巧等諸多優點,在便攜式儀表和低功耗應用系統中得到越來越廣泛的應用。 LCD 可分為段位式LCD、字符式LCD 和點陣式LCD。其中, 段位式LCD 和字符式LCD 只能用于字符和數字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數字,還可以顯示各種圖形、曲線及漢字,并且可以實現屏幕上下左右滾動,動畫功能,反轉,閃爍等功能,用途十分廣泛。 點陣式LCD 分為帶漢字字庫和不帶漢字字庫兩種,帶字庫LCD 若要顯示漢字只要傳給漢字內碼, 而不

9、帶字庫LCD顯示漢字時要先求出漢字字模, 然后跟顯示圖形一樣顯示漢字。 本開發系統采用博控公司生產的NS240*128A 點陣圖形型LCD,不帶中文字庫。由于液晶顯示器是典型的慢速設備,如果直接與高速的單片機相連時,會浪費大量的時間,可以考慮在單片機和液晶顯示器中間參加FPGA, 由FPGA 直接驅動和控制液晶顯示器。液晶顯示模塊框圖如圖3 所示。 單片機將字庫 圖形庫內的圖形或文字數據以及這些數據在液晶上所顯示的位置信息傳送給由FPGA 芯片構成的液晶控制IP 核。由于LCD 是慢速設備, 單片機發送至LCD控制器的顯示數據信息的速度通常大于LCD 顯示更新速度,因此需將這些數據和信息送入數

10、據存儲器中緩存。由于FPGA 芯片的片內RAM 容量有限, 系統中外擴了1 片RAM作為顯示數據緩沖器。由FPGA 芯片構成的顯示控制IP 核需讀取外擴顯示RAM 中的數據, 再通過顯示驅動電路按字節送至LCD 開展顯示;因此在所設計的顯示驅動電路中設計了一個雙端口RAM,既能將顯示數據緩存器中的顯示數據寫入雙端口RAM,同時又能將雙端口RAM 中的數據讀出,再將數據送至LCD 數據接口。 2.3 SRAM 模塊 C8051F020 內部有位于外部數據存儲器空間的4 096 字節的片上RAM,還有外部數據存儲器接口EMIF,可用于訪問片外存儲器和存儲器映射的I/O 器件。外部數據存儲器接口EM

11、IF 可配置到低I/O 端口P0P3, 也可配置到高I/O 端口P4P7。而且,既可以配置為數據、地址復用方式,也可以配置為非復用方式。若要節省端口I/O,可采用數據、地址復用方式,能節省8 根端口線,但是速度較慢,若要提高速度,則可以采用非復用方式。 2.3.1 配置外部存儲器接口的步驟 1)將EMIF 選到低端口(P3P0)或選到高端口(P7P4)。 2)選擇復用方式或非復用方式。 3)選擇存儲器模式(只用片內存儲器、不帶塊選擇的分片方式、帶塊選擇的分片方式或只用片外存儲器)。 4)設置與片外存儲器或外設接口的時序。 5)選擇所需要的相關端口的輸出方式。 在本系統中考慮到C8051F020

12、 單片機的P0P3 口大部分為功能復用引腳, 為使單片機的資源得到的開發,將單片機的高端I/O 口,即P4P7 接入FPGA,并通過FPGA 對RAM 開展訪問。將單片機配置為高端口(P4P7)、地址/數據總線分時復用方式, FPGA 控制RAM 的片選、讀/寫等操作,其中注意FPGA、單片機、RAM 的時序統一問題。 2.4 UART 串口 UART 是一種通用串行數據總線,該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART 用來與PC開展通信,包括與監控調試器和其他器件,如EEPROM通信。 UART 首先將并行數據轉換成串行數據來發送。消息幀從一個低位起始位開始,后面是若

13、干數據位,一個可用的奇偶校驗位和一個高位停止位。接收器發現開始位時它就知道數據準備發送,并嘗試與發送器時鐘頻率同步。在接收過程中,UART 從消息幀中去掉起始位和結束位,對進來的字節開展奇偶校驗,并將數據字節從串行轉換成并行。UART 也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART 就置位奇偶標志。 C8051F020 單片機中有兩個增強型串行口:UART0 和UART1。所謂增強型是指,這兩個串口都具有幀錯誤檢測和通信地址硬件識別功能。它們都可以工作在全雙工異步方式或半雙工同步方式,并且支持多處理器通信。開發板外擴兩個增強型UART 串口,實現單片機與PC 機、

14、單片機和單片機之間的通信。其電路連接如圖4 所示。 2.5 A/D 和D/A 模塊 C8051F020 有一個片內12 位ADC(ADC0)和一個8 位ADC(ADC1),通道輸入多路選擇開關和可編程增益放大器。ADC 的電壓基準可以在模擬電源電壓(AV+) 和一個外部VREF 引腳之間選擇。 A/D 轉換有4 種啟動方式:軟件命令、定時器2 溢出、定時器3 溢出和外部信號輸入。這種靈活性允許用軟件事件、外部硬件信號或周期性的定時器溢出信號觸發轉換。轉換結束由一個狀態位指示,或者產生中斷(如果中斷被使能)。在轉換完成后,12 位或8 位轉換結果數據字被鎖存到兩個特殊功能存放器中。這些數據字可以

15、用軟件控制為左對齊或右對齊。 C8051F020 內部有兩個片內12 位電壓方式數/模轉換器(DAC)。每個DAC 的輸出擺幅均為0 V 到(VREF-1LSB),對應的輸入碼范圍是0 x000 到0 xFFF。C8051F020 的VREF 引腳可以由內部電壓基準或一個外部源驅動。如果使用內部電壓基準,為了使DAC 輸出有效,該基準必須被使能。 本文設計了利用A/D 和D/A 模塊開展簡單的語音信號的存儲和回放,基本思想是將模擬語音信號經過前置放大和濾波電路的處理, 通過模數轉換器A/D 轉換成數字信號,再通過單片機控制存儲在存儲器中,回放時,由單片機控制將數據從存儲器中讀出,然后通過數模轉換器D/A 轉換成模擬信號,經放大在揚聲器或耳機上輸出語音。音頻前置放大和濾波電路如圖5 所示。 3 結束語 本開發系統采用MCU+FPGA 構造, 單片機負責過程控制和數據處理,FPGA 實現各種外設的接口,同時FPGA 還可以為單片機提供存儲器和I/O 口等資源。由于電路中具有數字部分和模擬部分, 在PCB 制板時特別注意抗干擾處理,例如加去耦電容、數字地和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論