《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于C8051F和FPGA的單片機實驗系統的設計
基于C8051F和FPGA的單片機實驗系統的設計
單片機與嵌入式系統
杜沖 倪瑞曉 張巍
摘要: 本系統是為單片機實踐教學而開發的,因此要求單片機的功能齊全,滿足教學中各種實驗的要求。一般的實驗板的功能有:模擬數字信號轉換實驗、通信接口實驗、存儲器實驗、各種顯示實驗,人機交互實驗等等。除此之外,還要考慮由于是非商業性質的開發,對一些功能的精度要求不是很高,在選擇最理想價格的同時,選擇盡可能多而全的片上資源,留待后期開發擴充。
關鍵詞: FPGA EP2C8 C8051F020
Abstract:
Key words :

關鍵字:單片機 FPGA 外圍電路 電路板

    目前高校單片機教學中大多是以MCS51單片機為首選機型進行講解,所開發的教學實驗系統也多是基于MCS51系列單片機開發設計的。然而,隨著單片機的應用進入SoC時代,其不足和缺陷也顯而易見:片上資源不夠豐富,功耗較大,處理速度很有限,電路龐大且復雜,可靠性和可維護性較差,難以滿足高水平的設計要求。

    為了進一步簡化電路結構,提出一種C8051F單片機實驗系統設計方案,該方案采用FPGA實現單片機各種外設接口。FPGA作為一種可編程邏輯器件憑借其優越的可擴展性能受到設計者的青睞,逐漸成為分立元件的替代者。通過對FPGA編程,實現任何數字元件的邏輯功能,設計者可以通過原理圖輸入或硬件描述語言,方便地設計一個數字系統,這使得單片機外圍電路的設計簡單、靈活、可靠。

    本系統是為單片機實踐教學而開發的,因此要求單片機的功能齊全,滿足教學中各種實驗的要求。一般的實驗板的功能有:模擬數字信號轉換實驗、通信接口實驗、存儲器實驗、各種顯示實驗,人機交互實驗等等。除此之外,還要考慮由于是非商業性質的開發,對一些功能的精度要求不是很高,在選擇最理想價格的同時,選擇盡可能多而全的片上資源,留待后期開發擴充。

    基于以上考慮,該平臺使用SoC系統級的C8051F020單片機作為核心控制器,CycloneⅡEP2C8型FPGA實現外設接口,加上LCD、鍵盤、UART串口等人機交互的模塊。

    C8051F系列單片機是以流水線方式處理指令的CIP-5l內核,完全集成的混合信號系統級芯片(Soc),片內集成了數據采集和控制系統中常用的模擬、數字外設及其他功能部件。C8051F020單片機具有片內調試電路,通過4引腳的JTAG接口可以進行非侵入式、全速的在系統調試。

    FPGA即現場可編程門陣列,它是作為專用集成電路(ASIC)領域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。FPGA使用靈活,同一片FPGA通過不同的編程數據可以產生不同的電路功能。

1 系統總體方案

    本文設計并實現了基于FPGA的單片機開發平臺,該平臺主要包括有:單片機及其外設、FPGA擴展電路、電源及下載電路。開發平臺框架如圖l所示。

a.JPG


1.1 單片機外設

    包括液晶顯示器(LCD)、鍵盤、SRAM、UART串口等,對FPGA進行編程來實現LCD、鍵盤、SRAM的接口電路。

1.2 FPGA擴展電路

    包括主動串行(AS)配置電路、JTAG在線調試電路、輸入輸出電路等。采用EPCSlN8型芯片對FPGA進行主動串行(AS)配置,同時兼有JTAG在線調試模式。

1.3 電源及下載電路

    單片機和FPGA均采用3.3V/1.2V穩壓源供電,兩者均可通過JTAG接口進行在線調試。

    FPGA和單片機以典型的三總線連接進行數據通信及控制,單片機內部集成的數字/模擬資源和FPGA剩余的引腳通過插針引出,供用戶使用。將以上模塊有機結合起來,形成一個性能優越的開發平臺,能夠滿足不同層次的設計需求。

2 硬件電路設計

    在單片機系統的人機交互部分通常有液晶顯示器(LCD)、鍵盤和存儲器等外設,因此需要用大量的標準邏輯器件對單片機進行擴展,這些器件的組合使用會導致設計周期長、可維護性差,用FPGA來實現單片機的外圍接口電路,能大大簡化電路結構,節省CPU資源。

2.1 鍵盤接口模塊

    因為按鍵機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定的導通,在斷開時也不會馬上斷開,因而在閉合及斷開的瞬間都會伴隨一連串的抖動,對于靈敏度較高的電路,這種抖動可能會造成誤動作而影響操作正確性。常用的去抖動的方法為延時去抖動法,即檢測出鍵閉合后執行一個延時程序,產生5~lO ms的延時;讓前沿抖動消失后,再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當檢測到按件釋放后,也要給5~10 ms的延時,待后沿抖動消失后,才能轉入該鍵的處理程序。

    對FPGA編程完成消除抖動及按鍵識別,由抖動消除模塊、鍵盤掃描電路、鍵盤譯碼電路、按鍵數據寄存器等組成。

    鍵盤接口電路的工作流程為:采取逐行掃描法,FPGA周而復始地對鍵盤進行掃描,當有鍵按下時,先對按鍵進行延時去抖處理,將按鍵信號存入寄存器,掃描信號來臨時,根據按鍵掃描碼查找鍵碼表,并將其送回給單片機。程序流程如圖2所示。

 

b.JPG


2.2 液晶顯示模塊

    液晶顯示器(LCD)以其微功耗、體積小、顯示內容豐富、超薄輕巧等諸多優點,在便攜式儀表和低功耗應用系統中得到越來越廣泛的應用。

    LCD可分為段位式LCD、字符式LCD和點陣式LCD。其中,段位式LCD和字符式LCD只能用于字符和數字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數字,還可以顯示各種圖形、曲線及漢字,并且可以實現屏幕上下左右滾動,動畫功能,反轉,閃爍等功能,用途十分廣泛。

    點陣式LCD分為帶漢字字庫和不帶漢字字庫兩種,帶字庫LCD若要顯示漢字只要傳給漢字內碼,而不帶字庫LCD顯示漢字時要先求出漢字字模,然后跟顯示圖形一樣顯示漢字。

    本開發系統采用博控公司生產的NS240*128A點陣圖形型LCD,不帶中文字庫。由于液晶顯示器是典型的慢速設備,如果直接與高速的單片機相連時,會浪費大量的時間,可以考慮在單片機和液晶顯示器中間加入FPGA,由FPGA直接驅動和控制液晶顯示器。液晶顯示模塊框圖如圖3所示。

c.JPG

    單片機將字庫/圖形庫內的圖形或文字數據以及這些數據在液晶上所顯示的位置信息傳送給由FPGA芯片構成的液晶控制IP核。由于LCD是慢速設備,單片機發送至LCD控制器的顯示數據信息的速度通常大于LCD顯示更新速度,因此需將這些數據和信息送入數據存儲器中緩存。由于FPGA芯片的片內RAM容量有限,系統中外擴了1片RAM作為顯示數據緩沖器。由FPGA芯片構成的顯示控制IP核需讀取外擴顯示RAM中的數據,再通過顯示驅動電路按字節送至LCD進行顯示:因此在所設計的顯示驅動電路中設計了一個雙端口RAM,既能將顯示數據緩存器中的顯示數據寫入雙端口RAM,同時又能將雙端口RAM中的數據讀出,再將數據送至LCD數據接口。

2.3 SRAM模塊

    C8051F020內部有位于外部數據存儲器空間的4 096字節的片上RAM,還有外部數據存儲器接口EMIF,可用于訪問片外存儲器和存儲器映射的I/O器件。外部數據存儲器接口EMIF可配置到低I/O端口P0~P3,也可配置到高I/O端口P4~P7。而且,既可以配置為數據、地址復用方式,也可以配置為非復用方式。若要節省端口I/O,可采用數據、地址復用方式,能節省8根端口線,但是速度較慢,若要提高速度,則可以采用非復用方式。

2.3.1 配置外部存儲器接口的步驟

    1)將EMIF選到低端口(P3~P0)或選到高端口(P7~P4)。
    2)選擇復用方式或非復用方式。
    3)選擇存儲器模式(只用片內存儲器、不帶塊選擇的分片方式、帶塊選擇的分片方式或只用片外存儲器)。
    4)設置與片外存儲器或外設接口的時序。
    5)選擇所需要的相關端口的輸出方式。

    在本系統中考慮到(28051F020單片機的PO~P3口大部分為功能復用引腳,為使單片機的資源得到最大的開發,將單片機的高端I/O口,即P4~P7接入FPGA,并通過FPGA對RAM進行訪問。將單片機配置為高端口(P4~P7)、地址/數據總線分時復用方式,FPGA控制RAM的片選、讀/寫等操作,其中注意FPGA、單片機、RAM的時序統一問題。

2.4 UART串口

    UART是一種通用串行數據總線,該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART用來與PC進行通信,包括與監控調試器和其他器件,如EEPROM通信。

    UART首先將并行數據轉換成串行數據來發送。消息幀從一個低位起始位開始,后面是若干數據位,一個可用的奇偶校驗位和一個高位停止位。接收器發現開始位時它就知道數據準備發送,并嘗試與發送器時鐘頻率同步。在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的字節進行奇偶校驗,并將數據字節從串行轉換成并行。UART也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART就置位奇偶標志。

    C805lF020單片機中有兩個增強型串行口:UART0和UARTl。所謂增強型是指,這兩個串口都具有幀錯誤檢測和通信地址硬件識別功能。它們都可以工作在全雙工異步方式或半雙工同步方式,并且支持多處理器通信。開發板外擴兩個增強型UART串口,實現單片機與PC機、單片機和單片機之間的通信。其電路連接如圖4所示。

 

d.JPG

2. 5 A/D和D/A模塊

    C8051F020有一個片內12位ADC(ADCO)和一個8位ADC(ADCl),通道輸入多路選擇開關和可編程增益放大器。

    ADC的電壓基準可以在模擬電源電壓(AV+)和一個外部VREF引腳之間選擇。A/D轉換有4種啟動方式:軟件命令、定時器2溢出、定時器3溢出和外部信號輸入。這種靈活性允許用軟件事件、外部硬件信號或周期性的定時器溢出信號觸發轉換。轉換結束由一個狀態位指示,或者產生中斷(如果中斷被使能)。在轉換完成后,12位或8位轉換結果數據字被鎖存到兩個特殊功能寄存器中。這些數據字可以用軟件控制為左對齊或右對齊。

    C805lF020內部有兩個片內12位電壓方式數/模轉換器(DAC)。每個DAC的輸出擺幅均為0 V到(VREF-1LSB),對應的輸入碼范圍是Ox000到OxFFF。C8051F020的VREF引腳可以由內部電壓基準或一個外部源驅動。如果使用內部電壓基準,為了使DAC輸出有效,該基準必須被使能。
本文設計了利用A/D和D/A模塊進行簡單的語音信號的存儲和回放,基本思想是將模擬語音信號經過前置放大和濾波電路的處理,通過模數轉換器A/D轉換成數字信號,再通過單片機控制存儲在存儲器中,回放時,由單片機控制將數據從存儲器中讀出,然后通過數模轉換器D/A轉換成模擬信號,經放大在揚聲器或耳機上輸出語音。音頻前置放大和濾波電路如圖5所示。

 

e.JPG



3 結束語

    本開發系統采用MCU+FPGA結構,單片機負責過程控制和數據處理,FPGA實現各種外設的接口,同時FPGA還可以為單片機提供存儲器和I/O口等資源。由于電路中具有數字部分和模擬部分,在PCB制板時特別注意抗干擾處理,例如加去耦電容、數字地和模擬地一點連接、數字電源和模擬電源隔離等措施。

    需要注意的是,采樣后的數字語音信號由于數據量很大,為了節省存儲空間,可以采取相應的編碼技術去除冗余度,回放的語音質量性噪比(RSN)較高。系統采用3.3 V供電單片機,功耗降低50%左右。通過配置內部寄存器和外部時鐘切換電路,可靈活配置系統時鐘。通過單片機內部交叉開關的配置,設計者可以實現數字和模擬外設的引腳分配和器件的使能。經過測試,各模塊均能夠達到設計要求,具有良好的可擴展性和穩定性,適合作為電子設計大賽和電子愛好者的開發用板。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品国产精品国产自| 亚洲影视在线| 欧美性色aⅴ视频一区日韩精品| 蜜臀av性久久久久蜜臀aⅴ| 中文久久精品| 亚洲一级二级在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品一二三区| 亚洲伦理自拍| av成人黄色| 一区二区三区精品国产| 亚洲少妇自拍| 在线亚洲美日韩| 这里只有精品视频在线| 亚洲一卡久久| 亚洲欧美日韩人成在线播放| 亚洲欧美网站| 久久国产精品久久国产精品 | 91久久久久久久久久久久久| 亚洲国产日韩综合一区| 亚洲日本国产| 夜久久久久久| 亚洲一区二区免费视频| 午夜精品亚洲一区二区三区嫩草| 午夜精品久久久久久久99水蜜桃| 欧美亚洲视频一区二区| 欧美在线日韩在线| 久久久久久高潮国产精品视| 久久综合国产精品台湾中文娱乐网| 美女999久久久精品视频| 欧美国产亚洲另类动漫| 欧美日韩一区二区三区免费看 | 亚洲国产婷婷综合在线精品 | 一卡二卡3卡四卡高清精品视频| 在线一区二区日韩| 午夜精品区一区二区三| 久久久久久久波多野高潮日日| 老鸭窝亚洲一区二区三区| 欧美激情导航| 国产精品日韩精品欧美精品| 国产综合色产在线精品| 亚洲国产女人aaa毛片在线| 日韩亚洲成人av在线| 亚洲欧美变态国产另类| 亚洲国产经典视频| 亚洲调教视频在线观看| 久久激情综合网| 欧美成年人视频| 国产精品成人va在线观看| 国内精品伊人久久久久av影院 | 国产日本欧美一区二区| 一区二区三区在线免费观看| 亚洲美女在线视频| 午夜精品久久| 亚洲精品久久久久中文字幕欢迎你| 亚洲一区二区三区色| 久久综合婷婷| 欧美亚州一区二区三区| 国语精品一区| 亚洲精品一区二区三区福利| 午夜精品久久久久| 亚洲精品免费网站| 小处雏高清一区二区三区| 免费观看久久久4p| 国产精品久久久久久久电影| 在线日韩中文字幕| 亚洲一本视频| 最新国产精品拍自在线播放| 亚洲欧美一区二区三区极速播放 | 亚洲激情偷拍| 欧美一区二区三区在线观看视频 | 亚洲综合日韩| 欧美成人免费全部观看天天性色| 国产精品多人| 亚洲国产一二三| 欧美一级专区| 亚洲欧美国产毛片在线| 欧美成人午夜激情视频| 国产欧美日韩三区| 日韩小视频在线观看专区| 久久精品一区二区三区中文字幕| 亚洲天堂成人在线视频| 欧美 日韩 国产精品免费观看| 国产美女精品在线| 99国产精品久久久久久久久久| 亚洲国产日韩欧美| 欧美在线首页| 欧美午夜一区二区| 亚洲欧洲综合另类| 亚洲国产精品ⅴa在线观看| 欧美一区午夜精品| 欧美午夜www高清视频| 亚洲激情不卡| 亚洲丰满少妇videoshd| 久久成人免费电影| 国产精品海角社区在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲国产成人精品久久久国产成人一区| 亚洲影音先锋| 欧美美女bbbb| 亚洲人成在线免费观看| 亚洲国产综合视频在线观看| 久久久国产精品一区二区中文| 国产精品网站一区| 99精品视频免费观看视频| 亚洲毛片在线| 欧美国产成人在线| 在线观看中文字幕不卡| 久久精品水蜜桃av综合天堂| 久久久99久久精品女同性| 国产欧美日韩另类一区| 亚洲欧美日韩天堂一区二区| 亚洲你懂的在线视频| 欧美性事在线| 亚洲视频免费在线观看| 亚洲午夜伦理| 国产精品高清一区二区三区| 夜夜嗨av色一区二区不卡| 中文国产亚洲喷潮| 欧美日韩一区二区三区免费| 亚洲免费成人av电影| 日韩一区二区精品| 欧美绝品在线观看成人午夜影视| 亚洲欧洲久久| 在线综合欧美| 欧美视频一区在线观看| 中文亚洲字幕| 亚洲免费在线电影| 国产精品天天看| 欧美亚洲一区| 久久久久国产精品人| 伊人久久男人天堂| 亚洲人成免费| 欧美喷潮久久久xxxxx| 99日韩精品| 欧美一区二区三区视频免费播放 | 亚洲破处大片| 在线亚洲一区| 国产精品美女久久| 欧美一级在线播放| 久热综合在线亚洲精品| 亚洲国产精品传媒在线观看| 99国产精品久久久久老师| 欧美亚洲第一页| 午夜欧美理论片| 免播放器亚洲一区| 亚洲蜜桃精久久久久久久| 亚洲影院免费观看| 国产精品专区第二| 久久精品成人| 欧美激情一区二区三区高清视频| 99精品国产高清一区二区| 欧美亚洲一区| 一区二区三区在线观看视频| 日韩视频专区| 国产精品亚洲视频| 亚洲高清视频在线观看| 欧美区国产区| 亚洲欧美激情视频| 免费亚洲婷婷| 一区二区三区国产精华| 久久精品123| 亚洲激情啪啪| 午夜天堂精品久久久久| 国精产品99永久一区一区| 亚洲精品色图| 国产精品国产三级国产 | 亚洲国产欧美国产综合一区| 欧美精品三级| 午夜国产精品视频免费体验区| 欧美www视频在线观看| 亚洲视频观看| 蜜桃av久久久亚洲精品| 99精品热视频| 老色鬼久久亚洲一区二区| 夜色激情一区二区| 久久久在线视频| 99精品视频免费| 久久婷婷蜜乳一本欲蜜臀| 亚洲精品亚洲人成人网| 久久久久久久高潮| 一本到12不卡视频在线dvd| 久久野战av| 中文亚洲视频在线| 欧美电影在线观看| 欧美一级成年大片在线观看| 欧美激情精品久久久久| 亚洲欧美综合另类中字| 欧美日本一道本| 久久爱www.| 国产精品免费电影| 99re热这里只有精品视频| 国产一区三区三区| 亚洲欧美激情精品一区二区| 亚洲动漫精品| 久久久爽爽爽美女图片| 亚洲视频一区| 欧美人与性动交cc0o| 亚洲国产黄色片| 国产欧美日韩综合一区在线播放|