《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于C8051F020單片機系統的USB擴展
基于C8051F020單片機系統的USB擴展
摘要: 1前言USB(UniversalSerialBus,通用串行總線)作為PC史上最成功的接口之一,它不僅成為PC的標準接口,而C8051F020是高集成的單片機系統,它集成了模/數控制器,外部存儲器,和串行通訊接口,但是沒有集成USB控制器;USBN9604是遵循USB1.1標準的USB端點控制器,如果把兩者集合到一起,把C8051F020的高速數據采集和USB的接口的優點集合起來,將大大提高數據采集系統的性能和數據傳輸效率。
Abstract:
Key words :

1 前言

USB(Universal Serial Bus,通用串行總線)作為PC史上最成功的接口之一,它不僅成為PC的標準接口,而且發展成為消費類電子、移動設備的標準接口。它具有安裝方便、高速、靈活、低成本、易擴展,支持熱插拔等優點,已經逐漸成為現代數字設備進行數據傳輸主要接口標準。

C8051F020是高集成的單片機系統,它集成了模/數控制器,外部存儲器,和串行通訊接口,但是沒有集成USB控制器;USBN9604是遵循USB1.1標準的USB端點控制器,如果把兩者集合到一起,把C8051F020的高速數據采集和USB的接口的優點集合起來,將大大提高數據采集系統的性能和數據傳輸效率。

2 芯片特點

2.1 C8051F020微控制器

C8051F020系列器件使用Silicon Labs的專利CIP-51微控制器內核。CIP-51與MCS-51TM

指令集完全兼容,可以使用標準803x/805x的匯編器和編譯器進行軟件開發。CIP-51 內核具有標準8052的所有外設部件,包括5個16 位的計數器/定時器、兩個全雙工UART、256 字節內部RAM、128 字節特殊功能寄存器(SFR)地址空間及8/4個字節寬的I/O 端口。

C8051F020系列MCU對CIP-51內核和外設有幾項關鍵性的改進,提高了整體性能,更易于在最終應用中使用。

2.2  USB控制器USBN9604[2]

USBN9604是National Semiconductor公司設計生產的一款較新型的專用USB通信控制芯片,它支持12Mbps全速傳輸,4種傳輸方式和總線供電方式,可滿足USB1.0和1.1協議。它具有8位并行接口,可支持DMA、MICRWIRE/PLUS接口,能適應大多數設備規范的設計,可以廣泛應用于很多外圍設備。芯片提供了3種訪問外部數據的方式:非復用并行方式、復用并行方式和MICRWIRE方式。其主要特點如下:

1) 外部24MHZ晶振,因為芯片內部有倍頻電路,因而內部可得到48MH時鐘。

2) 可編程時鐘發生器能產生不同頻率的時鐘,可以作為外部器件(如CPU)提供的時鐘信號。

3) 帶有串行引擎接口(SEI),包含物理層接口和介質訪問控制層協議,支持USB1.0和USB1.1協議。

4) 帶有7個端點的USB功能控制器,每個端點對應一個FIFO。其中端點0是雙向控制端點,另有3個發送端點和3個接收端點。除端點0外其余端點緩存區都是64字節。

USBN9604內部有64個映射到內存的寄存器,主要有主控制寄存器(MCTL)、時鐘配置寄存器(CCONF)、主事件寄存器(MAEV)、ALT事件寄存器(ALTEV)、接收事件寄存器(RXEV)和發送事件寄存器 (TXEV)以及各端點的控制寄存器和收發數據及狀態寄存器等。固件的大部分功能就是完成對此寄存器組的讀寫,實現對接口的配置、接口狀態的轉換以及數據在外設和計算機之間的傳輸等。

3 USB接口的擴展

C8051F020專門提供了豐富的I/O端口,它可以提供8個8位的數字接口,其中P0、P1、P2、P3為低端口,它既可以按位尋址,也可以按字節尋址,C8051F020豐富的數字資源(UART、SMBUS、SPI、PCA、定時器)均要通過交叉開關配置到4個低端口才能使用。P4、P5、P6、P7為高端口,它只能按字節尋址,C8051F020雖工作電壓為2.7-3.6V,但其I/O端口均與TTL電平兼容。對于外部擴展存儲器和存儲器映射的I/O設備可采用總線復用模式和非復用模式擴展。

USBN9604與微控制器的并行連接有兩種方式:即非復用方式和復用方式。它們可通過設置引腳MODE0、MODE1來選擇。當MODE0和MODE1連接低電平時USBN9604采用非復用模式;當MODE0接高電平,MODE1接低電平時采用復用方式。在非復用方式時,可用控制引腳CS、RD、WR、地址引腳A0和雙向數據線D[7:0]實現相應的地址讀寫。而在復用方式時,則使用控制引腳CS、RD、WR、地址鎖存信號ALE和雙向數線D[7:0]實現其地址讀寫。

本設計采用總線復用方式進行數據交換。圖1所示是C8051F020單片機和USBN9604的接口電路,該電路由一片C8051F020單片機、USB控制芯片USBN9604、時鐘振蕩電路以及相應的外圍電路組成。其中USBN96O4通過外部中斷INT與單片機進行通信。

圖1為低端口復用總線擴展實例。數據總線和低8位地址總線共享相同的端口引腳:AD[7:0],地址鎖存信號ALE連接到USBN9604的A0引腳,用于控制USBN9604內部地址鎖存寄存器,保持低8位地址。通過交叉開關的特殊寄存器將數據總線和數據總線定義到相應的端口。當我們在選用總線復用模式,用低端口作為擴展外部數據存儲器總線時需要做以下工作:

1) 用外部存儲器接口(EMIF)設置寄存器EMIOCF選擇端口:EMIOCF.5置0,將P3、P2、P1、P0選用外部擴展總線。

2) 選擇復用方式:將EMIOCF.4置0,定義復用方式。定義P3.7-P3.0為數據總線D7-D0和低8位復用地址總線A7-A0,P2.7-P2.0定義為高8位地址總線A15-A8,P0.7定義為寫控制(WR),P0.6定義為讀控制(RD),P0.5定義為ALE。

圖1 C8051F020單片機和USBN9604接口電路示意圖

3) 選擇存儲器模式:用EMIOCF.3-2,選擇EMIF的工作模式,當EMIOCF.3-2為01時外部存儲器接口工作在不帶塊選擇的分片方式,在這種模式下尋址低于4K 邊界的地址時訪問片內存儲器,尋址高于4K 邊界的地址時訪問片外存儲器,也就是說該設備的寄存器地址范圍是0X1000-0X10FF。

4) 設置外設接口時序:外設讀寫時序通過EM0TC特殊寄存器設置,EM0TC.7-6設置EMIF地址建立時間,EM0TC.5-2設置EMIF的WR和RD脈沖寬度,EM0TC.1-0設置EMIF地址保持時間。

所以通過上面步驟我們設置EMIF的相關特殊寄存器為以下值:

EMI0CF  = 0x07;    //使用低端口,復用方式以不帶片選方式工作

EMI0TC  =0x21;    //地址建立時間為0,RD/WR持續時間為9個系統時鐘周期,地址保持時間為1個系統周期。

在設置EMIF之后,我們讀取USBN9604的寄存器就像讀取普通外部數據存儲器一樣。我們可以這樣編寫對USBN9604讀取的函數:

#define USBN9604 (byte xdata *)(0x1000)

extern void write_usb(byte adr,byte dta)

{

  *(USBN9604 +adr)= dta;

}

 

byte read_usb(byte adr)

{

  return  *(USBN9604+adr);

}

4  設備固件(firmware)設計

USB接口的程序包括三個基本的部分:①初始化,這部分程序用來對單片機C8051F020、USB控制芯片USBN9604和所有外圍電路進行初始化;②主循環,發送USB請求、處理USB總線事件和用戶事件處理;③中斷服務程序,對USBN9604產生的中斷進行處理。

初始化程序中對USBN9604的初始化包括:①進行軟件復位,它不影響時鐘輸出,相當于一個硬件復位;②設置中斷方式,確定中斷輸出是高電平有效還是低電平有效;③設置缺省地址,這是由于USB規范規定設備在總線為其分配地址之間要以0作為缺省地址;④設置中斷屏蔽,在USBN9604中各個端點的發送數據、接收數據和發送NAK握手包等事件可能產生中斷;設置中斷屏蔽這個步驟確定了哪一個端點的哪一種事件能夠產生中斷。

設備固件是設備運行的核心,其主要功能是控制芯片USB9604接受并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等供10種USB1.1標準請求)。描述符包括設備描述符和配置描述符,USB規范給出了它們的格式,想要計算機正確識別設備并安裝驅動程序,這些描述符必須根據具體設備的情況填寫。如果這些設置正確,這時該已經成為一個USB設備,能夠被計算機正確識別。由于Windows XP自帶了多種USB驅動程序,所以現在一般不用開發USB驅動程序,用其自帶的USB驅動程序即可正確和PC進行通訊,用戶只需開發應用軟件即可。

5  結論

基于USB外設的應用目前在國內處于高速發展階段,利用USB進行數據采集和工業控制已得到成功應用,雖然隨著USB協議2.0,特別是無線USB協議的推出,USB總線發生了巨大的變化,但是基于USB1.1協議的數據采集系統在工業應用中仍占主導地位。該方案經實驗證明正確有效,能夠應用于多種數據采集系統,具有重要的應用價值。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲黄色性网站| 亚欧成人精品| 国产一级久久| 国产精品一卡二卡| 欧美日本一区| 欧美a级片网站| 久久综合久色欧美综合狠狠| 久久精品视频导航| 久久精品国产99精品国产亚洲性色| 亚洲影院免费| 亚洲一区精彩视频| 亚洲砖区区免费| 亚洲欧美成人在线| 午夜精品久久久久久久蜜桃app| 亚洲小视频在线观看| 亚洲一区成人| 亚洲一区自拍| 午夜精品国产精品大乳美女| 亚洲综合欧美日韩| 午夜激情一区| 久久精品国产v日韩v亚洲 | 久久久久国产精品一区| 久久精品女人的天堂av| 久久精品亚洲国产奇米99| 欧美中文在线免费| 久久这里只精品最新地址| 美日韩精品视频| 欧美日本一区二区高清播放视频| 欧美日韩综合视频| 国产精品人成在线观看免费| 国产欧美日韩一级| 黑人巨大精品欧美黑白配亚洲| 亚洲大胆女人| 亚洲精选久久| 亚洲女同性videos| 久久精品五月婷婷| 99精品99久久久久久宅男| 亚洲图片欧美一区| 久久国产精品亚洲va麻豆| 久久综合网色—综合色88| 欧美激情久久久久| 欧美三级午夜理伦三级中视频| 国产精品视频自拍| 一区在线电影| 一区二区三区 在线观看视| 亚洲欧美日韩在线| 亚洲国产精品激情在线观看| 99re视频这里只有精品| 香蕉免费一区二区三区在线观看 | 欧美日韩p片| 欧美日韩在线一区二区三区| 欧美视频福利| 国产日韩欧美一区二区| 亚洲丰满在线| 一区二区三区成人精品| 欧美一区二区三区四区视频 | 欧美综合第一页| 亚洲久久视频| 性欧美1819性猛交| 欧美成人精品不卡视频在线观看| 欧美色图麻豆| 在线观看成人网| 一区二区三区日韩在线观看| 亚洲成人在线免费| 久久精品99国产精品日本| 欧美福利一区二区三区| 国产精品网站在线观看| 亚洲电影免费观看高清完整版在线 | 99re热这里只有精品视频 | 国产日韩一区二区三区在线| 亚洲黄色在线看| 性欧美激情精品| 一区二区三区视频在线看| 久久久久九九视频| 欧美日韩一区二区三区在线观看免 | 1204国产成人精品视频| 亚洲在线成人| 亚洲美女精品一区| 久久久久一区二区三区| 国产精品久久久久久久久久尿 | 国产日韩欧美一二三区| 99国产精品久久久| 亚洲国产精品久久精品怡红院| 亚洲欧美bt| 欧美日韩精品免费观看视频完整| 黄色日韩网站视频| 亚洲欧美精品中文字幕在线| 日韩亚洲精品在线| 久久综合伊人| 国产亚洲视频在线| 中文亚洲欧美| 99国产一区| 欧美成人午夜激情视频| 国产专区欧美精品| 亚洲欧美资源在线| 亚洲一区二区在线观看视频| 欧美护士18xxxxhd| 影音欧美亚洲| 亚洲国产高潮在线观看| 久久精品国产免费| 国产精品一区二区你懂的| 亚洲手机成人高清视频| 一区二区三区国产精品| 欧美欧美全黄| 亚洲精品精选| 99av国产精品欲麻豆| 欧美黄在线观看| 亚洲第一在线视频| 最新成人av网站| 欧美电影免费观看| 亚洲国产精品久久久久| 亚洲欧洲午夜| 欧美高清在线| 亚洲精品1区| 日韩一级免费| 欧美日韩精品一区| 日韩午夜免费视频| 亚洲午夜久久久久久尤物 | 午夜免费日韩视频| 国产精品欧美精品| 亚洲欧美三级伦理| 久久国产精品毛片| 国内精品免费在线观看| 久久精品免费观看| 久久夜色精品亚洲噜噜国产mv| 国内精品久久久久久久果冻传媒| 久久激情五月激情| 能在线观看的日韩av| 亚洲福利国产| 日韩视频二区| 欧美天天在线| 午夜精品美女久久久久av福利| 欧美专区日韩视频| 国内揄拍国内精品少妇国语| 久久精品一区中文字幕| 女生裸体视频一区二区三区| 亚洲激情校园春色| 亚洲午夜精品在线| 国产嫩草影院久久久久| 欧美在线播放| 欧美福利视频| 亚洲视频一区二区| 欧美在线观看一区二区| 精品不卡一区二区三区| 日韩天天综合| 国产精品久久久久999| 午夜精品久久久久久久久久久久久| 久久精品二区三区| 1000部精品久久久久久久久| 在线一区日本视频| 国产伦精品一区二区三区| 久久成人综合视频| 欧美高清视频免费观看| 宅男在线国产精品| 久久精品国产亚洲一区二区三区| 激情婷婷久久| 中文亚洲视频在线| 国产视频在线观看一区二区三区 | 99日韩精品| 国产精品视频免费观看www| 欧美综合二区| 欧美区高清在线| 香蕉久久国产| 欧美国产日韩亚洲一区| 亚洲一区二区3| 蜜臀av在线播放一区二区三区| 亚洲精品男同| 久久精品国产综合精品| 亚洲国产日韩综合一区| 午夜一区在线| 亚洲国产精品国自产拍av秋霞| 亚洲欧美日本国产有色| 伊甸园精品99久久久久久| 亚洲女人天堂成人av在线| 黑人巨大精品欧美黑白配亚洲 | 国产精品美女久久久| 亚洲第一免费播放区| 欧美日韩一区三区四区| 久久av免费一区| 欧美日韩精品是欧美日韩精品| 欧美一区网站| 欧美日韩另类在线| 亚洲高清影视| 国产精品久久久久毛片软件| 亚洲日本一区二区三区| 国产精品任我爽爆在线播放 | 精品成人国产在线观看男人呻吟| 亚洲一区二区精品在线观看| 精品1区2区3区4区| 欧美一区二区三区男人的天堂 | 久久精品色图| 国产精品毛片a∨一区二区三区|国 | 亚洲经典三级| 国产一区三区三区| 亚洲一区视频在线| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一级成年大片在线观看| 亚洲精品一区二区三区av| 久久全国免费视频| 亚洲直播在线一区|