新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式系統開發平臺的設計與實現

        基于嵌入式系統開發平臺的設計與實現

        作者: 時間:2007-09-10 來源:網絡 收藏

        摘要: 本文首先介紹了EVB2107評估板、評估板的開發工具和集成開發環境,然后對擴展板上各模塊都從原理入手結合該模塊要的功能說明其思想和原理,并就各模塊驅動程序的編程思想及流程進行了論述。
        關鍵詞:EVB2107評估板集成開發環境網絡接口控制器

        1 前言

        是以應用為中心、以計算機為基礎、軟件硬件均可剪裁、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。近年來,隨著計算機、微電子、通信及網絡技術的發展,系統滲透到各個領域。由于嵌入式系統通常采用微控制器芯片來構建,但微控制器生產商通常只提供芯片的編譯器和連接器,而不提供完整的;應用開發商往往根據微控制器來構建自己的應用產品,通常不提供完整的尤其是通用的嵌入式系統;國外第三方公司提供的一般都功能單一、結構簡單且價格昂貴。國內的開發平臺一般也只是一個簡單的評估板和調試平臺,通常不能支持高檔微控制器。因此為了滿足開發各種應用系統的需求,本文提出了嵌入式系統開發平臺的方法。

        在硬件上,嵌入式系統開發平臺以各種微控制器為核心,以嵌入式系統的常用組成部件的并集為基本要素,構建的硬件和調試平臺。作為通用的開發平臺,平臺支持以8位、16位、32位微控制器家族中1~2款具有代表性的微控制器為核心,并且包括網絡通信、USB高速串行通信、存儲器系統擴展、大屏幕液晶顯示器/觸摸屏控制器等常用部件。在軟件上,嵌入式系統開發平臺以嵌入式微內核實時操作系統為核心,提供了各種軟硬件資源的管理程序,豐富的函數庫和調試工具,以及各種功能模塊的標準化應用設計例程,構造了一個基本的調試和開發平臺。在針對具體的嵌入式系統應用開發時,只需要在此平臺基礎上對軟、硬件進行適當剪裁、組裝,就可以完成一個實際的嵌入式系統。

        2 EVB2107評估板的資源與開發環境

        EVB2107評估板是以32位微控制器MMC2107為核心,擴展了存儲器、OnCE接口、串行接口、電源電路等模塊,組成了一個板級的基本系統,其邏輯結構如圖1所示。

        EVB2107評估板上提供了1MB的SRAM和2MB的FLASH存儲器,極大地擴展了板上存儲器容量。可編程邏輯器件CPLD用來實現板內的各種控制邏輯電路,可控制評估板上的LED指示燈顯示;采樣跳線開關設置值實現系統配置;產生存儲器地址、控制信號,實現MMC2107對評估板上外部存儲器的16位或32位訪問。3個外圍端口引出插座,分別用來引出SPI、串行通信接口、定時器接口的信號,引入外部中斷請求信號,引入使用片內QADC進行模數轉換的模擬信號。用戶可以選擇20線的雙排扁平電纜或其它連接線其與擴展板相連。用戶擴展區(即面包板)提供給用戶添加自己的器件。2個RS232串行通信接口和OnCE接口用于調試;12V直流輸入電源轉換成板內各種工作電源(如5V、3.3V),可為擴展板上各模塊供電。

        EVB2107評估板通過EBDI(Embedded Background Debug Interface)與主機相連。主機上選用Metrowerks公司提供的CodeWarrior IDE集成開發環境和Motorola公司提供的SysDS(MCORE System Development Software),構成了軟件調試環境。EBDI是EVB2107評估板與CodeWarrior IDE之間的硬件接口,EVB2107評估板上的OnCE接口與EBDI相連,EBDI通過串行線與主機的串行接口相連。進行調試時,CodeWarrior利用EBDI連接通路將程序下載到EVB2107評估板上,再利用CodeWarrior IDE中的Debug功能就可以進行代碼的調試了。

        3 USB接口模塊

        該開發通過USB接口與外部設備連接,USB系統由主機(Host)、集線器(Hub)、設備(Device)構成。它們之間通過USB總線相連構成一個星型拓撲結構。在一個USB系統中,必須有而且只有一個主機,主機利用USB主控制器來操縱主機和USB設備之間的數據傳輸。主控制器像其它I/O設備一樣掛在系統總線(PCI總線)下面,附著于主控制器的集線器是USB系統的根集線器(Root Hub),各級集線器提供若干個連接其它設備的下行端口。USB設備在邏輯上分成幾個層次,分別是設備、配置、接口和端點,結構如圖2所示。

        每個USB設備內有一個或多個邏輯連接點,稱為端點(endpoint)。端點是一個儲存多個字節的緩沖器,用來作為數據的緩沖區,設備通過端點和主機交換數據。每一個設備端點由一個端點號碼和數據方向組成,號碼范圍從00h到0Fh,方向如果為輸入(IN),表示流向主機,如果為輸出(OUT),表示流出主機。端點0被用來傳送配置和控制信息,可以雙向傳輸數據,其它端點均為單向的數據通道,即為接收端點或發送端點。USB提供有四種數據傳輸方式:控制(Control);同步(isochronous);中斷(interrupt);批量(bulk)。除端點0固定使用控制傳輸外,其它端點可根據實際傳輸數據的特點配置為其它三種傳輸方式。

        對于相同性質的一組端點的組合稱為接口(interface),如果一個設備包含不止一個接口就稱之為復合設備(composite device)。對大部分設備,一個接口就足夠了,但有些設備可以同時有多個作用的接口,且多個接口可同時使能。同樣,對于相同類型的接口組合稱為配置(configuration)。每個配置至少必須支持一個接口。大部分設備只有一個配置,但有些設備可支持多個配置,但在同一時間只有一個配置使能,一旦該配置激活,里面的接口和端點就都可以使用。描述符(Descriptor)是一個數據結構,是主機了解設備的格式化信息。主機在檢測設備的時候,要求設備傳回描述符以便了解設備并配置該設備,主機要求的首先是設備的設備描述符,然后是配置描述符以及每個配置的接口描述符,最后是端點描述符,還可能有可選的字符串描述符。

        4 人機交互模塊

        為給用戶提供一個良好的人機交互界面,本開發平臺上設計了一個由液晶顯示模塊和觸摸屏控制模塊組成的人機交互模塊,如圖3所示。液晶顯示模塊由LCD(液晶顯示)屏、LCD控制器和顯示緩沖存儲器三部分組成,其中LCD屏選用信利公司的MG320240型黑白液晶顯示屏,其上覆蓋有四線電阻式觸摸屏,LCD控制器選用EPSON公司的S1D13305芯片,顯示緩沖存儲器采用兩片62L256構成,共64KB;觸摸屏控制模塊中的觸摸屏控制器采用BB公司的ADS7846,在ADS7846和MMC2107之間通過標準的SPI口相連。

        4.1 液晶顯示模塊

        S1D13305支持文本(即字符)顯示、圖形顯示以及文、圖相結合的顯示模式;LCD顯示分辨率可達640256像素;LCD驅動的占空系數變化范圍為1/2~1/256;內部掩模有一個具有160字符、57像素點陣的字符發生器ROM;支持在片外設置一個具有256字符、最大達816象素點陣的字符發生器ROM或RAM;片外的顯示RAM(又稱顯示緩沖區)可達64KB;光標位置及形狀可編程控制;全部顯示屏面或部分顯示屏面可以在水平或豎直方向上平滑滾動;可以與6800系列和8080系列微控制器相接口;寬工作電壓范圍(2.7~5.5V);功耗低,在VDD=3.5V時工作電流為3.5mA,后備電流為0.05μA。

        S1D13305有三方面的接口:微控制器、顯示存儲器(包括外部的字符發生器)和LCD模塊。它接受并執行微控制器的命令,來完成各種顯示控制功能,共13種命令。它把顯示數據(字符代碼或位映射圖形數據)從微控制器接收過來并產生寫訪問存儲器的信號,把顯示數據寫入顯示存儲器,然后把顯示數據讀出轉化為顯示象素并生成LCD的各種時序信號,把顯示象素數據送給LCD顯示。微控制器只需向S1D13305發命令,在更新顯示內容時向S1D13305送顯示數據即可,讀/寫顯示存儲器以及控制LCD掃描顯示的工作均由S1D13305來完成。

        MMC2107與液晶顯示屏硬件接口的設計方案,如圖3所示。S1D13305可以與8080或6800兩種類型的微處理器接口,這里根據MMC2107的接口要求,選擇前者。在設計時,S1D13305的數據線與MMC2107的數據線D[31:24]相連,S1D13305的地址A0與MMC2107的地址線ADDR1相連,用片選3(CS3#)作為S1D13305的片選信號,在程序中,命令端口地址和數據端口地址定義如下:

        #define lcd_command (*(INT8U*)(0x81800002)) // 命令端口

        #define lcd_data (*(INT8U*)(0x81800000)) // 數據端口

        4.2 觸摸屏模塊

        ADS7846除了基本的X、Y坐標測量功能外,還可測量系統供電電池電壓、芯片溫度、觸摸壓力和外模擬量。ADS7846的核心是一個12位的逐次逼近式A/D轉換器。內部的6選1模擬多路開關根據微控制器送來的控制字,將X+、Y+、Y-、VBAT(電池電壓)、TEMP(溫度)和AUXIN(外模擬量)中的一個送入A/D轉換器。ADS7846可以對A/D轉換提供2.5V的內參考電壓,也支持從VREF引腳輸入外參考電壓。

        ADS7846與微控制器之間通過標準的SPI接口相連,它與微控制器完成一次通信需要3次SPI傳送。比如進行坐標測量,微控制器先按控制字格式傳送一條讀坐標命令,ADS7846收到命令的同時進行相應坐標的測量和A/D轉換,然后微控制器啟動2次SPI讀,得到坐標值,第一次讀得前7位數據,第二次讀得后5位數據。ADS7846還設置有觸摸識別電路,當檢測到有觸摸時,該電路輸出一個低電平信號,稱為PENIRQ#(筆中斷),微控制器可以用這個信號作為ADS7846的中斷請求信號。無觸摸時,PENIRQ#由外加的上拉電阻輸出為高。筆中斷變低后,MMC2107檢測到這個信號并發出啟動轉換命令,在轉換期間,MMC2107必須維持筆中斷為低。

        5 創新點總結

        本文的創新點在于將各種微控制器與嵌入式微內核實時操作系統有機結合起來,開發 了一個嵌入式開發平臺,在此基礎上可以大大縮短了應用系統的開發周期,減少了系統開發成本投入,降低了系統開發風險。同時有能滿足應用系統的功能、可靠性、成本、體積等要求,在未來的移動計算機平臺、信息家電、無線通信設備和工業/商業控制等領域都有十分廣泛的應用前景。

        參考文獻:

        1 蕭世文編著. USB2.0硬件設計. 北京:清華大學出版社,2002
        2 王田苗主編. 嵌入式系統設計與實例開發. 北京:清華大學出版社,2002
        3 邵貝貝,劉慧銀編著. 微控制器原理與開發技術. 北京:清華大學出版社,1997
        4 莫傳孟,馮曉云 嵌入式系統μC/OS-II的雙CAN通信構件,北京,《微機算計信息》,2004.No.3

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 牙克石市| 岳池县| 广宗县| 绥棱县| 卓资县| 类乌齐县| 独山县| 无极县| 广东省| 呼图壁县| 牙克石市| 洮南市| 安泽县| 社旗县| 松原市| 买车| 府谷县| 罗田县| 启东市| 定边县| 封丘县| 玉屏| 枣阳市| 民乐县| 通山县| 科技| 农安县| 梅州市| 临泽县| 苍南县| 田林县| 宜川县| 临汾市| 磐安县| 兴业县| 耒阳市| 田阳县| 当阳市| 新化县| 偃师市| 株洲市|