摘 要:提出通過(guò)硬件邏輯芯片和加載不同的硬件邏輯配置軟件,實(shí)現(xiàn)控制不同種類(lèi)微處理器的相關(guān)功能管腳能夠靈活映射連接到同一外圍接口應(yīng)用電路上。從而達(dá)到在不改變開(kāi)發(fā)系統(tǒng)其他任何硬件結(jié)構(gòu)的情況下實(shí)現(xiàn)微處理器型號(hào)的快速更換,解決了現(xiàn)存的對(duì)于不同微處理器需要設(shè)計(jì)不同開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)的問(wèn)題。
關(guān)鍵詞:微處理器;硬件邏輯;開(kāi)發(fā)系統(tǒng);管腳映射
中圖分類(lèi)號(hào):TP386.1 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004-373X(2008)02-068-03
A Design for Universal Research System of Microcontroller Based on CPLD
TANG Xuhui
(School of Electronics Communication Engineering,Shenzhen Polytechnic College,Shenzhen,518055,China)
Abstract:This Paper proposes a method which can map correlative function pins of different type microcontroller to same periphery interface applied circuit flexibly,by CPLD or FPGA and loading different configuration files.It can realize change different types of microprocessor quickly in the circumstances of no changing any hardware of the research system.It can solve the existent problem of different microprocessor needs corresponding research system.
Keywords:microprocessor;CPLD or FPGA;research system;pin mapping
1 引 言
在現(xiàn)代通信系統(tǒng)、電子產(chǎn)品設(shè)計(jì)應(yīng)用中大都離不開(kāi)功能強(qiáng)大的微處理器,在應(yīng)用微處理器進(jìn)行電子產(chǎn)品設(shè)計(jì)時(shí),首先就需要選擇合適的微處理器型號(hào)。除考慮他的功能、價(jià)格等因素外,同時(shí)還要考慮他的設(shè)計(jì)難易程度。為了詳細(xì)了解一款微處理器的性能和設(shè)計(jì)應(yīng)用技術(shù),開(kāi)發(fā)人員通常都需要事先對(duì)微處理器廠家或者第三方設(shè)計(jì)廠家提供的針對(duì)此微處理器芯片設(shè)計(jì)的開(kāi)發(fā)系統(tǒng)進(jìn)行前期的研究分析和評(píng)估。
然而,由于不同微處理器的對(duì)外接口、芯片管腳、外圍模塊和軟件設(shè)計(jì)方法等都各不相同,因此廠家針對(duì)不同的微處理器設(shè)計(jì)不同的開(kāi)發(fā)實(shí)驗(yàn)板,以至于開(kāi)發(fā)人員在研究不同的微處理器時(shí)需要購(gòu)買(mǎi)不同的開(kāi)發(fā)實(shí)驗(yàn)板或?qū)嶒?yàn)系統(tǒng)。這對(duì)于廣大科研人員來(lái)說(shuō),無(wú)形中就加大他們的經(jīng)濟(jì)投入。
雖然不同微處理器的應(yīng)用技術(shù)存在差別,但在開(kāi)發(fā)實(shí)驗(yàn)板的實(shí)現(xiàn)原理上都大致相同,現(xiàn)有的開(kāi)發(fā)實(shí)驗(yàn)板的實(shí)現(xiàn)功能框圖可描述為如圖1所示。
可見(jiàn),微處理器提供的各主要功能單元的應(yīng)用在開(kāi)發(fā)實(shí)驗(yàn)板上都要提供相關(guān)的模塊,以供設(shè)計(jì)者參考設(shè)計(jì)。但是不同的微處理器的對(duì)外管腳和封裝不同,當(dāng)微處理器型號(hào)更換時(shí),整個(gè)單板的硬件需要重新設(shè)計(jì),盡管開(kāi)發(fā)板中其他接口電路可能是完全相同。這造成了重復(fù)設(shè)計(jì)和人力物力資源的浪費(fèi)。
2一種新型的可支持多種微處理器的通用開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)
針對(duì)上述情況,提出一種新型設(shè)計(jì)思路實(shí)現(xiàn)支持多種微處理器芯片的通用開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)。本開(kāi)發(fā)系統(tǒng)的實(shí)現(xiàn)技術(shù)方案框圖如圖2所示。
本開(kāi)發(fā)系統(tǒng)主要包括微處理器插座(含插座轉(zhuǎn)換器)、控制轉(zhuǎn)換模塊、控制邏輯加載單元、微處理器電源選擇模塊、微處理器時(shí)鐘選擇模塊、微處理器擴(kuò)展口、微處理器配置模塊、電源模塊、時(shí)鐘模塊、復(fù)位模塊、微處理器各功能模塊接口應(yīng)用電路等功能模塊。下面逐一詳細(xì)說(shuō)明。
2.1微處理器插座(含插座轉(zhuǎn)換器)
微處理器插座(含插座轉(zhuǎn)換器)主要用來(lái)放置不同的微處理器芯片。他主要圍繞一個(gè)標(biāo)準(zhǔn)的間距寬為600 mil的48PIN的雙列直插式插座來(lái)實(shí)現(xiàn)。在此插座的四周擴(kuò)展有多個(gè)焊接過(guò)孔,用來(lái)連接主板和插座轉(zhuǎn)換器。當(dāng)微處理器芯片是DIP封裝時(shí),只需將其直接插入主板上的此48PIN雙列直插式插座;當(dāng)微處理器芯片是PLCC封裝時(shí),則芯片需要置于A型插座轉(zhuǎn)換器內(nèi)再將插座轉(zhuǎn)換器插入微處理器插座上。A型插座轉(zhuǎn)換器主要包含一個(gè)PLCC插座和雙排插針,雙排插針直接可以插入微處理器插座上,主要用來(lái)完成PLCC封裝向DIP封裝轉(zhuǎn)換的功能。當(dāng)微處理器芯片是SMT封裝(SOP,QFP,BGA等)時(shí),則需要將微處理器芯片簡(jiǎn)單焊接在B型插座轉(zhuǎn)換器上。B型插座轉(zhuǎn)換器主要包含一個(gè)小的PCB板和多排插針,微處理器芯片可以焊接在此PCB板上,多排插針則可以固定于此雙列直插式插座和他周?chē)鷶U(kuò)展的用來(lái)連接主板和插座轉(zhuǎn)換器的焊接過(guò)孔上。經(jīng)過(guò)這樣的處理,通過(guò)微處理器插座結(jié)合插座轉(zhuǎn)換器可以方便地實(shí)現(xiàn)在同一塊開(kāi)發(fā)實(shí)驗(yàn)板上快速靈活地更換不同的微處理器芯片。
2.2 控制轉(zhuǎn)換模塊
主要由硬件邏輯芯片CPLD或者FPGA來(lái)實(shí)現(xiàn)。用于實(shí)現(xiàn)靈活的微處理器信號(hào)管腳映射的功能。一方面,來(lái)自于微處理器的大部分管腳信號(hào)(除了電源信號(hào)、內(nèi)部時(shí)鐘振蕩器信號(hào)或其他模擬信號(hào)之外)連接到此硬件邏輯芯片的部分I/O腳上;另一方面,支持微處理器的各種通用外圍接口應(yīng)用電路的信號(hào)也連接到此硬件邏輯芯片的部分I/O腳上;通過(guò)對(duì)此硬件邏輯芯片加載運(yùn)行不同的硬件邏輯軟件,同一通用外圍接口應(yīng)用電路可以連接到不同種類(lèi)微處理器的相關(guān)信號(hào)管腳上。比如,對(duì)于UART接口電路,都可以由MAX 3232實(shí)現(xiàn)。MAX 3232上的串口輸入/輸出信號(hào)管腳是固定的,但是不同微處理器的串口輸入/輸出信號(hào)管腳則可能不同(比如有的處理器RXD是10腳,TXD是11腳;而有的處理器的RXD是12腳,TXD是13腳),通過(guò)控制轉(zhuǎn)換模塊的管腳映射功能可以根據(jù)微處理器的型號(hào)分別將MAX 3232的輸入腳連接到微處理器的相應(yīng)引腳(第10腳或第12腳)。于是不同種類(lèi)微處理器的UART接口都可以連接到同一個(gè)UART接口應(yīng)用電路上。實(shí)現(xiàn)相同的開(kāi)發(fā)實(shí)驗(yàn)板可靈活支持多個(gè)處理器的目的。
控制轉(zhuǎn)換模塊的另外一個(gè)功能是輸出控制信號(hào),控制將輸入到微處理器電源選擇模塊和微處理器時(shí)鐘選擇模塊的不同種類(lèi)微處理器的電源信號(hào)和時(shí)鐘信號(hào)輸出給相應(yīng)的電源模塊和時(shí)鐘模塊,以保證微處理器的正常工作。
2.3 控制邏輯加載單元
主要完成將計(jì)算機(jī)后臺(tái)提供的不同硬件邏輯軟件加載到控制轉(zhuǎn)換模塊中的硬件邏輯芯片里。當(dāng)控制轉(zhuǎn)換模塊采用CPLD實(shí)現(xiàn)時(shí),控制邏輯加載單元實(shí)際上只包括一個(gè)邏輯加載頭。當(dāng)控制轉(zhuǎn)換模塊采用FPGA實(shí)現(xiàn)時(shí),由于FPGA內(nèi)容的掉電易失性,因此此時(shí)控制邏輯加載單元除了包括一個(gè)邏輯加載頭外,還包括一個(gè)帶有FLASH的控制系統(tǒng)。此控制系統(tǒng)通過(guò)串口完成將后臺(tái)主機(jī)上的FPGA加載文件燒寫(xiě)到控制系統(tǒng)的FLASH中。這樣,整個(gè)系統(tǒng)只需加載一次FPGA內(nèi)容,下次上電后就無(wú)需再加載。
2.4 電源模塊及電源選擇模塊
電源模塊輸出的電源電壓包括5 V,3.3 V,2.5 V和1.8 V等。以保證微處理器及其各外圍模塊的正常工作。電源選擇模塊主要完成將電源信號(hào)分配到不同種類(lèi)微處理器的電源引腳的功能。輸入的不同電源信號(hào)(5 V,3.3 V或其他電源信號(hào))來(lái)自開(kāi)發(fā)實(shí)驗(yàn)主板統(tǒng)一的電源模塊。選擇控制信號(hào)則來(lái)自于控制轉(zhuǎn)換模塊輸出的電源控制信號(hào)。為減少單板面積,微處理器電源選擇模塊內(nèi)部主要由模擬開(kāi)關(guān)芯片(比如ADG731,MAX396等)實(shí)現(xiàn)。沒(méi)有將微處理器的電源信號(hào)管腳直接連接到控制轉(zhuǎn)換模塊的I/O腳的原因是邏輯芯片的I/O腳輸出電流和功率很小,不能滿(mǎn)足各處理器芯片實(shí)際工作的需要。為了節(jié)省成本,微處理器所需的不同電源信號(hào)可以采用線纜通過(guò)人工操作的方式接入。這樣帶來(lái)的問(wèn)題是不能實(shí)現(xiàn)完全意義上的微處理器自動(dòng)配置。
2.5 時(shí)鐘模塊及時(shí)鐘選擇模塊
時(shí)鐘模塊由一個(gè)有源晶振電路實(shí)現(xiàn),其輸出的時(shí)鐘信號(hào)送入控制轉(zhuǎn)換模塊的邏輯芯片的時(shí)鐘輸入腳。而且時(shí)鐘信號(hào)通過(guò)分頻后不但可提供給微處理器的時(shí)鐘引腳,也可以提供給其他各外圍接口應(yīng)用電路使用。
時(shí)鐘選擇模塊主要完成將外部時(shí)鐘振蕩信號(hào)分配到不同微處理器的內(nèi)部時(shí)鐘振蕩器信號(hào)輸入腳的功能。選擇控制信號(hào)則來(lái)自于控制轉(zhuǎn)換模塊輸出的時(shí)鐘控制信號(hào)。由于時(shí)鐘振蕩信號(hào)非數(shù)字信號(hào),所以不能通過(guò)控制轉(zhuǎn)換模塊的I/O腳來(lái)實(shí)現(xiàn),內(nèi)部也是主要由模擬開(kāi)關(guān)芯片實(shí)現(xiàn)。
2.6 微處理器擴(kuò)展口模塊
主要包括一些多排插針和一個(gè)單板連接器。多排插針主要方便于開(kāi)發(fā)者,可采用電纜連接的方式將微處理器的一些控制信號(hào)或輸入/輸出信號(hào)連接到自己開(kāi)發(fā)的產(chǎn)品單板上。單板連接器則方便于本開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)的功能升級(jí)。針對(duì)一些微處理器獨(dú)特的功能模塊,比如以太網(wǎng)接口電路和微處理器外存儲(chǔ)模塊電路(包括FLASH/ROM和RAM等)等;或者隨著技術(shù)不斷更新,隨新型微處理器出現(xiàn)的新型功能模塊;他們都可采用小板的方式通過(guò)此連接器方便地提供給本開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)。
這里需要特別提及的是:以太網(wǎng)接口應(yīng)用電路和微處理器擴(kuò)展的存儲(chǔ)系統(tǒng)等模塊與微處理器型號(hào)緊密相關(guān)。不同的微處理器提供這些模塊的控制接口的方式差別很大,是不能采用單板上的同一個(gè)模塊來(lái)與不同類(lèi)型微處理器直接相連的方式。比如,有的微處理器提供的以太網(wǎng)功能包括MAC和PHY的功能,外部只需要提供變壓器電路和RJ45水晶頭就可以實(shí)現(xiàn)以太網(wǎng)通信的功能。但有的處理器提供的以太網(wǎng)處理功能只包括MAC芯片,外部還要提供PHY器件結(jié)合變壓器電路和RJ45水晶頭才能實(shí)現(xiàn)完整的以太網(wǎng)通信功能。而對(duì)于微處理器擴(kuò)展的存儲(chǔ)系統(tǒng),由于不同微處理器處理機(jī)制不同,有的是地址信號(hào)線和數(shù)據(jù)信號(hào)線公用,有的則不是;有的需要鎖存有的則不需要;因此對(duì)應(yīng)的外部接口電路也完全不一樣。因此這些微處理器擴(kuò)展的外部存儲(chǔ)接口電路(包括FLASH、ROM和RAM等)以單獨(dú)的小板的方式來(lái)提供。
另外,在此模塊上也提供微處理器的仿真接口。這里主要是指JTAG接口,不同微處理器的JTAG信號(hào)管腳是不一樣的,通過(guò)控制轉(zhuǎn)換模塊的管腳映射功能,他們都可以映射到同一個(gè)JTAG接口電路相關(guān)信號(hào)上。有的微處理器的仿真接口是直接通過(guò)串口實(shí)現(xiàn)。這樣就只需利用UART接口應(yīng)用電路就可以實(shí)現(xiàn)。
2.7 微處理器配置模塊
主要包括撥碼開(kāi)關(guān)和一些上下拉電阻。由于大部分微處理器都指定某些管腳作為模式選擇管腳,用來(lái)選擇微處理器的工作模式。因此通過(guò)此配置模塊提供的信號(hào)管腳高低電平配置功能,就可以方便地實(shí)現(xiàn)不同種類(lèi)微處理器的相應(yīng)不同工作模式的靈活配置。
2.8 復(fù)位模塊及外圍接口應(yīng)用電路
由復(fù)位芯片提供復(fù)位信號(hào)給控制轉(zhuǎn)換模塊的邏輯芯片或者單板上的其他各接口應(yīng)用電路。通過(guò)控制轉(zhuǎn)換模塊處理后的復(fù)位信號(hào)再送給微處理器的復(fù)位腳。
微處理器各外圍接口應(yīng)用電路主要用來(lái)提供一些外圍器件電路用以驗(yàn)證處理器提供的這些功能模塊,或者用于研究這些功能模塊所對(duì)應(yīng)的軟硬件實(shí)現(xiàn)技術(shù)等。
另外一種可替代的實(shí)現(xiàn)方案,其是將已實(shí)現(xiàn)了微處理器插座管腳靈活映射功能的微處理器最小系統(tǒng)獨(dú)立出來(lái),作為扣板或者小板來(lái)提供,通過(guò)連接器直接與開(kāi)發(fā)系統(tǒng)主板連接或者安裝在主板上。開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)主板上主要提供微處理器的各功能模塊電路或者一些對(duì)外接口。因此,此方案實(shí)現(xiàn)的通用開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)主要包括:主板和最小系統(tǒng)扣板(或小板)。
3 主要?jiǎng)?chuàng)新點(diǎn)和現(xiàn)實(shí)意義
3.1 主要?jiǎng)?chuàng)新點(diǎn)
(1) 通過(guò)硬件邏輯芯片和后臺(tái)加載不同的硬件邏輯配置軟件,實(shí)現(xiàn)控制不同種類(lèi)微處理器的相關(guān)功能管腳能夠靈活映射連接到同一外圍接口應(yīng)用電路上;從而達(dá)到在不改變開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)其他任何硬件結(jié)構(gòu)的情況下實(shí)現(xiàn)微處理器型號(hào)的快速更換,保證了本開(kāi)發(fā)系統(tǒng)的通用性。
(2) 通過(guò)設(shè)計(jì)科學(xué)、合理的微處理器插座和插座轉(zhuǎn)換器實(shí)現(xiàn)多種不同封裝的微處理器芯片的靈活更換。
(3) 通過(guò)將實(shí)現(xiàn)了微處理器插座管腳靈活映射功能的微處理器最小系統(tǒng)獨(dú)立出來(lái)以小板或扣板的方式來(lái)提供給用戶(hù),方便用戶(hù)產(chǎn)品的微處理器升級(jí)換代,同時(shí)也方便用戶(hù)進(jìn)行微處理器的器件選型。
3.2 現(xiàn)實(shí)意義
由上述設(shè)計(jì)可知,對(duì)于不同微處理器,都可以采用本文所提供的開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)來(lái)進(jìn)行研究開(kāi)發(fā)。而無(wú)需在研究一款新的微處理器時(shí),就買(mǎi)一套新的開(kāi)發(fā)實(shí)驗(yàn)板,給那些需要研究不同微處理器的軟硬件應(yīng)用技術(shù)的企業(yè)和個(gè)人節(jié)省了巨大的成本開(kāi)銷(xiāo)。由于不同的開(kāi)發(fā)實(shí)驗(yàn)板的熟悉使用也需要一個(gè)過(guò)程,若只采用本開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng),這一熟悉過(guò)程也就不需要了。從而大大節(jié)省了開(kāi)發(fā)新產(chǎn)品的時(shí)間。
另外,若采用將微處理器最小系統(tǒng)作為扣板獨(dú)立出來(lái)單獨(dú)提供給用戶(hù),不但可為用戶(hù)的開(kāi)發(fā)應(yīng)用方便地實(shí)現(xiàn)微處理器的升級(jí)換代。而且也為用戶(hù)提供軟件的開(kāi)發(fā)成本、器件物料成本等多種因素進(jìn)行全面的分析比較。
參 考 文 獻(xiàn)
[1]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)\\[M\\]. 北京:北京航空航天大學(xué)出版社,1999.
[2]胡漢才.單片機(jī)原理及其接口技術(shù)\\[M\\].北京:清華大學(xué)出版社,1996.
[3]盧毅,賴(lài)杰.VHDL與數(shù)字電路設(shè)計(jì)[M].北京:科學(xué)出版社,2001.
[4]曹漢房.數(shù)字電路與邏輯設(shè)計(jì)\\[M\\].武漢:華中科技大學(xué)出版社,2004.
[5]邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法\\[M\\].北京:清華大學(xué)出版社,2004.
[6]Bill Lucas.Configuring the System and Peripheral Clocks in the MC9S08GB/GT\\[S\\].Freescale Semiconductor,2003.
[7]陳興文.基于KEIL 51的單片機(jī)開(kāi)發(fā)系統(tǒng)設(shè)計(jì)\\[J\\]. 微計(jì)算機(jī)信息,2005(5):112,60.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。