《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > MCU&USB設備控制器IP核的設計

MCU&USB設備控制器IP核的設計

2011-09-08

  1 引言

  在傳統的計算機系統上常采用串口(如RS232)和并口連接外圍設備,但串口和并口都存在著通信速度 慢,接口獨占不利于擴展等無法克服的缺點,而通用串行總線(Universal Serial Bus,即USB)因具有傳輸 速度快、支持熱插拔、擴展方便、抗干擾強、成本低、數據傳輸質量高、節省系統資源等優點而得到了廣 泛的應用,當前它已成為計算機最常用的接口之一[1-3]。

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

  然而,國內產品中所用到的USB 芯片都依賴進口,主要由國外的IC 設計芯片廠商如Cypress,NEC 等 一些國際著名公司提供。鑒于USB 芯片有很好的市場前景和利潤空間,盡管國內企業或研究機構目前還只 是處于USB 芯片應用開發的技術水平,人們還是希望自主開發出有自主知識產權的USB 芯片[7-9].因此,近 年來國內也有許多單位在探索獨立設計USB 芯片。

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

  2 MCU&USB 設備控制器工作原理及總體設計

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

整個設計的總體結構

  2.1 MCU 的設計

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

  2.2 arbRAM、arbROM(仲裁模塊)的設計

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

  2.3 USB 設備控制器的設計

  USB 設備控制器是設計的重點部分,是本論文介紹的重點,總體的模塊劃分如圖2 所示;

總體的模塊劃分

  2.3.1 收發器的設計

  USB 收發器作為USB 接口的模擬前端主要把主機發送過來的模擬信號轉換成數字信號VP、VM 傳到數字鎖相環或把協議引擎發送過來的VP0、VM0 數字信號轉換成模擬信號,并完成串并和并串的轉換;

 

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

收發器的模型

  2.3.2 Dpll(數字鎖相環)模塊

  數字鎖相環實現時鐘恢復、分頻及同步時鐘;該模塊用外部的6M時鐘CLK進行分頻,產生1.5M的USB系 統時鐘,以及把收發器產生的差分信號和并行信號進行鎖相,避免產生亞穩態。

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

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

設備接收主機發送數據時的狀態機

  從圖4可以看出設備在沒有數據傳輸時處于空閑態,低速設備空閑時D+、D-處于J態,當有K態到來時 進入狀態轉換;以KJKJKK為同步位,同步字段里的最后的2位是同步字段結束的記號,并且標志了包標識 符(PID,Packet Identifier)的開始。然后根據不同的PID分別進入地址態或數據態, 緊跟在地址態后面的 是端點態,因為地址和端點分別是有7位和4位構成共11位,所以只要5位CRC校驗就可以了,CRC校驗完后就要結束此次的包傳輸,USB協議中以2個SE0態和一個J態來表示包的結束。在數據態判斷是否為SE0態, SE0態表示8個字節的數據都發送完畢,因為非SE0態即J、K態都表示工作態,所以在數據態中如果總線上 沒有SE0到來就一直接收數據。

  2.3.4 ENDPCTL(端點控制)模塊

  設計中用到兩個端點,端點0和端點1。端點0是半雙工傳輸,主要是在設備的枚舉過程中用于控制傳輸, 端點1是在枚舉完成后的中斷傳輸中用設備和主機之間的數據傳輸。由于中斷傳輸主要是通過端點1輸入, 但也有少許輸出(如鍵盤的LED燈輸出),我們為了節省資源,所以由端點0完成少許的輸出。

  2.3.5 BUFCTL(緩沖器控制)模塊

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

  3 系統驗證環境

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

用NC_Verilog 仿真設備的枚舉過程

點擊看原圖

 

 

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

  4 結論

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲一区观看| 亚洲精品国产精品久久清纯直播| 狠狠色综合网| 国产日本欧美一区二区三区在线| 欧美剧在线观看| 欧美成人69| 欧美成人日韩| 免费中文日韩| 免费人成网站在线观看欧美高清| 久久美女性网| 久久字幕精品一区| 麻豆国产精品va在线观看不卡 | 日韩午夜在线观看视频| 亚洲精品日韩综合观看成人91| 91久久在线视频| 亚洲精品在线三区| 一区二区动漫| 亚洲线精品一区二区三区八戒| 亚洲尤物精选| 午夜精品免费视频| 久久精品日韩欧美| 久久最新视频| 欧美精品亚洲精品| 国产精品国产福利国产秒拍 | 亚洲免费中文字幕| 午夜影视日本亚洲欧洲精品| 欧美亚洲视频一区二区| 久久国产免费看| 亚洲精品久久久久久久久| 夜夜爽夜夜爽精品视频| 亚洲在线第一页| 欧美在线视频一区二区| 久久久国产一区二区三区| 玖玖玖国产精品| 欧美激情一区二区三区| 欧美午夜大胆人体| 国产欧美日韩精品专区| 在线观看日韩专区| 亚洲精选视频免费看| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲午夜精品在线| 欧美专区在线观看| 亚洲精品美女91| 亚洲私人影院在线观看| 久久精品国语| 欧美精品色网| 国产毛片一区二区| 亚洲第一中文字幕| 亚洲深夜激情| 欧美在线综合| 亚洲视频日本| 久久九九99| 欧美日韩高清在线| 国产伦精品一区二区三区高清版| 国内精品国语自产拍在线观看| 亚洲精品护士| 亚洲欧美综合国产精品一区| 亚洲人体1000| 欧美有码在线视频| 欧美成熟视频| 国产精品最新自拍| 亚洲区一区二| 欧美一级专区免费大片| 日韩天堂av| 久久久久欧美| 国产精品v日韩精品v欧美精品网站| 韩国av一区二区三区| 在线视频一区观看| 久久精品视频va| 亚洲欧美国产日韩天堂区| 免费日韩av电影| 国产欧美精品日韩区二区麻豆天美 | 久久精品国产一区二区三区| 欧美激情视频免费观看| 国产精品视频自拍| 亚洲精品欧洲| 久久超碰97中文字幕| 中文一区二区在线观看| 老司机精品导航| 国产精品一区二区在线观看不卡| 亚洲全黄一级网站| 亚洲第一免费播放区| 亚洲欧美日韩综合aⅴ视频| 欧美精品免费视频| 在线欧美不卡| 久久都是精品| 欧美一区2区三区4区公司二百| 欧美日韩激情小视频| 亚洲高清资源综合久久精品| 欧美一级视频| 欧美一区二区视频免费观看 | 国产一区二三区| 亚洲午夜女主播在线直播| 亚洲精选国产| 免费成人在线观看视频| 国产亚洲精品bv在线观看| 这里只有精品在线播放| 一区二区久久久久| 欧美成人午夜激情视频| 红桃视频亚洲| 欧美在线播放| 午夜精品网站| 国产精品激情| 一区二区三区av| 一本色道久久加勒比88综合| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美一区二区三区日韩| 午夜精品美女久久久久av福利| 欧美视频一区二区三区…| 亚洲日本中文字幕| 最新国产成人av网站网址麻豆| 久久婷婷蜜乳一本欲蜜臀| 国产午夜精品全部视频播放| 亚洲男女毛片无遮挡| 性欧美18~19sex高清播放| 国产精品你懂的在线| 亚洲视频中文| 亚洲一区中文| 欧美视频在线不卡| 一区二区三区色| 亚洲一级免费视频| 国产精品v片在线观看不卡| 一区二区三区www| 亚洲一区二区不卡免费| 欧美性色aⅴ视频一区日韩精品| 99精品视频网| 亚洲在线一区二区| 国产精品久久午夜夜伦鲁鲁| 亚洲一区区二区| 欧美在线视频二区| 国产一区二区中文字幕免费看| 久久er精品视频| 美女被久久久| 91久久一区二区| 亚洲先锋成人| 国产精品三级视频| 西西裸体人体做爰大胆久久久| 久久国产精彩视频| 激情另类综合| 亚洲伦理网站| 欧美午夜电影在线观看| 亚洲私人影院在线观看| 性18欧美另类| 国产曰批免费观看久久久| 亚洲激情自拍| 欧美日韩精品在线视频| 亚洲素人一区二区| 久久久人成影片一区二区三区观看 | 亚洲激情一区二区| 欧美日本国产精品| 亚洲一区二区精品视频| 久久国产夜色精品鲁鲁99| 国产一区免费视频| 亚洲日本va在线观看| 欧美视频1区| 性欧美video另类hd性玩具| 巨乳诱惑日韩免费av| 亚洲精品欧洲精品| 午夜在线观看免费一区| 黑人巨大精品欧美一区二区| 亚洲日韩成人| 国产精品成人在线| 久久激情综合| 欧美日韩在线播放一区| 午夜精品久久久久久久99水蜜桃 | 欧美日韩一二三区| 欧美一区二区三区四区在线观看地址 | 蜜臀av性久久久久蜜臀aⅴ| 亚洲裸体视频| 久久精品国产视频| 亚洲日本视频| 久久高清免费观看| 亚洲免费激情| 久久久久久久尹人综合网亚洲| 亚洲国产精品电影| 欧美在线一二三区| 亚洲人成亚洲人成在线观看图片 | 久久久久久久尹人综合网亚洲| 亚洲精品乱码久久久久| 欧美在线日韩精品| 亚洲人成绝费网站色www| 欧美在线网站| 日韩亚洲视频在线| 久久综合网络一区二区| 亚洲午夜精品福利| 欧美大成色www永久网站婷| 亚洲一区在线视频| 欧美国产精品va在线观看| 亚洲欧美日韩久久精品 | 国产综合久久久久久鬼色| 国产精品99久久久久久久久久久久| 国产一区二区高清| 亚洲一卡久久| 在线观看视频一区| 欧美在线1区| 日韩视频精品| 欧美成人黄色小视频| 欧美亚洲一区二区在线观看| 欧美视频中文字幕| 亚洲人永久免费|