www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]本論文針對USB1.1協(xié)議規(guī)范,本著自主開發(fā)USB控制芯片,把MCU和USB設(shè)備控制器用軟核的形式集成在一塊芯片上,微控制器我們是用14位指令字長度,且是單字節(jié)指令和單周期指令,其核心指令只有39條,容易掌握和設(shè)計(jì),而且完全滿足總體設(shè)計(jì)的要求。

1引言

在傳統(tǒng)的計(jì)算機(jī)系統(tǒng)上常采用串口(如RS232)和并口連接外圍設(shè)備,但串口和并口都存在著通信速度慢,接口獨(dú)占不利于擴(kuò)展等無法克服的缺點(diǎn),而通用串行總線(Universal Serial Bus,即USB)因具有傳輸速度快、支持熱插拔、擴(kuò)展方便、抗干擾強(qiáng)、成本低、數(shù)據(jù)傳輸質(zhì)量高、節(jié)省系統(tǒng)資源等優(yōu)點(diǎn)而得到了廣泛的應(yīng)用,當(dāng)前它已成為計(jì)算機(jī)最常用的接口之一。

現(xiàn)在USB控制器主要有兩種:帶USB接口的單片機(jī)(MCU)和純粹的USB接口芯片。純粹的USB接口芯片僅處理USB通信,必須有個外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD11(I2C接口)、PDIUSBD12(并行接口);NS公司的USBN9603/9*(并行接口)。帶USB接口的單片機(jī)從應(yīng)用上又可以分成兩類,一類是從底層設(shè)計(jì)專用于USB控制的單片機(jī);另一類是增加了USB接口的普通單片機(jī),如Cypress公司的EZ—USB(基于8051),選擇這類USB控制器的最大好處在于開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但價格比較高,不利于產(chǎn)品升級和改型。

然而,國內(nèi)產(chǎn)品中所用到的USB芯片都依賴進(jìn)口,主要由國外的IC設(shè)計(jì)芯片廠商如Cypress,NEC等一些國際著名公司提供。鑒于USB芯片有很好的市場前景和利潤空間,盡管國內(nèi)企業(yè)或研究機(jī)構(gòu)目前還只是處于USB芯片應(yīng)用開發(fā)的技術(shù)水平,人們還是希望自主開發(fā)出有自主知識產(chǎn)權(quán)的USB芯片。因此,近年來國內(nèi)也有許多單位在探索獨(dú)立設(shè)計(jì)USB芯片。

本論文針對USB1.1協(xié)議規(guī)范,本著自主開發(fā)USB控制芯片,把MCU和USB設(shè)備控制器用軟核的形式集成在一塊芯片上,微控制器我們是用14位指令字長度,且是單字節(jié)指令和單周期指令,其核心指令只有39條,容易掌握和設(shè)計(jì),而且完全滿足總體設(shè)計(jì)的要求。

2 MCU設(shè)備控制器工作原理及總體設(shè)計(jì)

整個設(shè)計(jì)的總體結(jié)構(gòu)如圖1所示,差分信號線D+和D-連接主機(jī),接收時主機(jī)發(fā)送的串行數(shù)據(jù)通過收發(fā)器和USB設(shè)備控制器解碼和校驗(yàn)等處理后存儲到相應(yīng)的RAM中;發(fā)送時由仲裁模塊控制從RAM或ROM中提取相應(yīng)數(shù)據(jù)經(jīng)過USB設(shè)備控制器組合和收發(fā)器串行發(fā)送給主機(jī)。MCU主要協(xié)助USB控制器完成設(shè)備和主機(jī)之間的數(shù)據(jù)傳輸。


2.1 MCU的設(shè)計(jì)

MCU主要完成各種中斷處理,而且協(xié)助控制器使主機(jī)檢測和識別設(shè)備;設(shè)備剛插上PC時,MCU通過讀取ROM中的指令來初始化專用功能寄存器,使能全局中斷GIE和USB中斷USBint,使控制器能及時響應(yīng)各種USB中斷;全局中斷允許位GIE置位時,允許所有中斷;清零時,禁止所有中斷。當(dāng)一個中斷被響應(yīng)時,GIE位被清零以禁止其它中斷,并裝載中斷服務(wù)程序,將中斷返回地址壓入堆棧。引起裝載中斷服務(wù)程序的中斷標(biāo)志位在重新允許GIE之前通過軟件清零,以避免重復(fù)響應(yīng)中斷。在中斷服務(wù)程序中,通過檢測中斷標(biāo)志位可以判斷中斷源,各中斷標(biāo)志位的置位不受GIE的影響;在設(shè)備與主機(jī)通信過程中,MCU處理setup包、in包、out包、ack、nak、stall包等的中斷處理,我們規(guī)定了USB中斷、定時器中斷、外部中斷、GPIO中斷的中斷入口地址分別為04H、08H、0CH、10H;MCU同時還對各功能寄存器進(jìn)行相應(yīng)的操作,比如寫端點(diǎn)0的輸入輸出包允許的最大值,數(shù)據(jù)的觸發(fā)位DSQ(即Data Toggle機(jī)制)等。

2.2 arbRAM、arbROM(仲裁模塊)的設(shè)計(jì)

在設(shè)計(jì)中含有兩種存儲器:程序存儲器(ROM)和數(shù)據(jù)存儲器(SRAM),這兩種存儲器都有自己的總線,在一個時鐘周期內(nèi),可以同時對兩種存儲器進(jìn)行訪問。USB和MCU都可以訪問SRAM和ROM,仲裁模塊就是為兩者同時訪問時不起沖突而設(shè)置的;USB訪問ROM的地址空間100h-fffh(我們把設(shè)備的描述符存放在這里),且USB訪問僅取14位寬的低8位數(shù)據(jù)。當(dāng)USB與MCU同時訪問ROM時,MCU優(yōu)先。USB與MCU共享通用寄存器(SRAM),當(dāng)USB的請求訪問存儲器信號到來時,USB訪問存儲器的地址信號的高三位不等于零時屬于USB訪問程序存儲器的地址空間。當(dāng)USB與MCU同時訪問通用寄存器(SRAM)時,MCU具有優(yōu)先權(quán)。

2.3 USB設(shè)備控制器的設(shè)計(jì)

USB設(shè)備控制器是設(shè)計(jì)的重點(diǎn)部分,是本論文介紹的重點(diǎn),總體的模塊劃分如圖2所示;



2.3.1收發(fā)器的設(shè)計(jì)

USB收發(fā)器作為USB接口的模擬前端主要把主機(jī)發(fā)送過來的模擬信號轉(zhuǎn)換成數(shù)字信號VP、VM傳到數(shù)字鎖相環(huán)或把協(xié)議引擎發(fā)送過來的VP0、VM0數(shù)字信號轉(zhuǎn)換成模擬信號,并完成串并和并串的轉(zhuǎn)換;

收發(fā)器的模型如圖3所示,Dplus為正相USB差分?jǐn)?shù)據(jù)線,Dminu為負(fù)相USB差分?jǐn)?shù)據(jù)線,兩者都是雙向的。OEn為USB發(fā)送使能,為低時作為發(fā)送功能,單相輸出口被置為高阻,為高時作為接收功能,單相輸入口被置為高阻。



2.3.2 Dpll(數(shù)字鎖相環(huán))模塊

數(shù)字鎖相環(huán)實(shí)現(xiàn)時鐘恢復(fù)、分頻及同步時鐘;該模塊用外部的6M時鐘CLK進(jìn)行分頻,產(chǎn)生1.5M的USB系統(tǒng)時鐘,以及把收發(fā)器產(chǎn)生的差分信號和并行信號進(jìn)行鎖相,避免產(chǎn)生亞穩(wěn)態(tài)。

2.3.3 SIE(串行接口引擎)模塊

SIE是USB控制器的主要模塊;實(shí)現(xiàn)協(xié)議層的功能、信息包的解析和組合、同步信號識別、位填充和位剝離、NRZI(非歸零反轉(zhuǎn))的編碼和解碼、同步字段和包結(jié)束碼的檢測和生成、CRC5、CRC16校驗(yàn)等功能;圖4是設(shè)備接收主機(jī)發(fā)送數(shù)據(jù)時的狀態(tài)機(jī)。



從圖4可以看出設(shè)備在沒有數(shù)據(jù)傳輸時處于空閑態(tài),低速設(shè)備空閑時D+、D-處于J態(tài),當(dāng)有K態(tài)到來時進(jìn)入狀態(tài)轉(zhuǎn)換;以KJKJKK為同步位,同步字段里的最后的2位是同步字段結(jié)束的記號,并且標(biāo)志了包標(biāo)識符(PID,Packet Identifier)的開始。然后根據(jù)不同的PID分別進(jìn)入地址態(tài)或數(shù)據(jù)態(tài),緊跟在地址態(tài)后面的是端點(diǎn)態(tài),因?yàn)榈刂泛投它c(diǎn)分別是有7位和4位構(gòu)成共11位,所以只要5位CRC校驗(yàn)就可以了,CRC校驗(yàn)完后就要結(jié)束此次的包傳輸,USB協(xié)議中以2個SE0態(tài)和一個J態(tài)來表示包的結(jié)束。在數(shù)據(jù)態(tài)判斷是否為SE0態(tài),SE0態(tài)表示8個字節(jié)的數(shù)據(jù)都發(fā)送完畢,因?yàn)榉荢E0態(tài)即J、K態(tài)都表示工作態(tài),所以在數(shù)據(jù)態(tài)中如果總線上沒有SE0到來就一直接收數(shù)據(jù)。

2.3.4 ENDPCTL(端點(diǎn)控制)模塊

設(shè)計(jì)中用到兩個端點(diǎn),端點(diǎn)0和端點(diǎn)1.端點(diǎn)0是半雙工傳輸,主要是在設(shè)備的枚舉過程中用于控制傳輸,端點(diǎn)1是在枚舉完成后的中斷傳輸中用設(shè)備和主機(jī)之間的數(shù)據(jù)傳輸。由于中斷傳輸主要是通過端點(diǎn)1輸入,但也有少許輸出(如鍵盤的LED燈輸出),我們?yōu)榱斯?jié)省資源,所以由端點(diǎn)0完成少許的輸出。

2.3.5 BUFCTL(緩沖器控制)模塊

緩沖器控制模塊是USB和SRAM及ROM的連接橋梁,在主機(jī)要求輸入數(shù)據(jù)的IN token狀態(tài)時,控制器從SRAM或ROM中取出數(shù)據(jù)送給主機(jī)或主機(jī)輸出數(shù)據(jù)的OUT token狀態(tài)時,控制器把接收到的數(shù)據(jù)存放在SRAM中,它主要根據(jù)串行接口引擎SIE的接收或發(fā)送準(zhǔn)備信號來控制讀寫信號,保證數(shù)據(jù)能正確傳輸。USB與MCU共享通用寄存器區(qū),usbREQUST為來自USB的請求訪問存儲器信號,usbADDR為USB訪問存儲器的地址信號,usbADDR[11:8]不等于零時屬于USB訪問程序存儲器的地址空間。當(dāng)USB與MCU同時訪問數(shù)據(jù)存儲器(SRAM)時,MCU具有優(yōu)先權(quán)。

3系統(tǒng)驗(yàn)證環(huán)境

在完成了Verilog代碼設(shè)計(jì)后,我們進(jìn)行了仿真、綜合驗(yàn)證,前仿用Modelsim、綜合用Synplify Pro、綜合后仿真用Cadence中的NC_Verilog,主要由于NC_Verilog在后仿中的速度要優(yōu)于Modelsim,提高了效率;圖5是用NC_Verilog仿真設(shè)備的枚舉過程;


任何USB的數(shù)據(jù)傳輸都是建立在成功通過枚舉的基礎(chǔ)上的,只有正確完成了枚舉,USB主機(jī)和設(shè)備之間的通信才正在建立起來。所以枚舉是USB通信的最關(guān)鍵的一步。在驗(yàn)證過程中模擬了PC主機(jī)向設(shè)備發(fā)送各種命令來完成枚舉。在圖5中pid[3:0]中D、3、9、2、1、B分別表示Setup、DATA0、IN、Ack、Out、DATA1.當(dāng)設(shè)備插上PC時主機(jī)會持續(xù)的SE0來復(fù)位設(shè)備,這時設(shè)備的地址默認(rèn)為00,然后主機(jī)第一次發(fā)送Setup包來獲取設(shè)備的前8個設(shè)備描述符,當(dāng)設(shè)備成功返回?cái)?shù)據(jù)后,主機(jī)第二次發(fā)送Setup包來給設(shè)備配置地址,從圖中faddr[7:0]可以看出我們給設(shè)備配置的地址為02,在這以后主機(jī)都是通過這個地址向設(shè)備獲取全部的18個設(shè)備描述符和全部的配置描述符集,在取完這些描述符后主機(jī)對設(shè)備進(jìn)行配置,主機(jī)就識別出設(shè)備了。

4結(jié)論

本文描述了自主研發(fā)的MCU+USB設(shè)備控制器的設(shè)計(jì)思路。用Verilog語言對其進(jìn)行了RTL級描述。用Modelsim進(jìn)行前仿驗(yàn)證,并在Cadence公司的NC_Verilog上通過了綜合后仿驗(yàn)證。為了進(jìn)一步驗(yàn)證設(shè)計(jì)的正確性,本項(xiàng)目選擇了XILINX公司的Virtex xc2s2006pq208芯片及XC18V02的存儲器,并把上述IP核綜合到此FPGA上加以驗(yàn)證。綜合結(jié)果表明,協(xié)議層模塊占用了1672個Slice(71%),652個Slice Registers(13%),2870個4 input LUTs(61%),51個bonded IOBs(36%)。使用上華工藝,該芯片已經(jīng)流片返回了,并通過demo板連接到PC上,PC可以檢測出為人體輸入學(xué)設(shè)備,說明該芯片完全符合制定的設(shè)計(jì)要求。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉