国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

USB讀數(shù)裝置及上位機的設(shè)計*

2012-07-17 07:37:38李文燕徐香菊
山西電子技術(shù) 2012年1期
關(guān)鍵詞:固件存儲器上位

李文燕,郭 濤,徐香菊

(中北大學儀器科學與動態(tài)測試教育部重點實驗室,中北大學電子科學與技術(shù)系,山西太原030051)

數(shù)據(jù)采集在信息處理系統(tǒng)中占有不可替代的地位,它是以傳感器、信號測量與處理、微型計算機等技術(shù)為基礎(chǔ)而形成的,主要研究信息數(shù)據(jù)的采集、存儲、處理以及控制等作業(yè),具有很強的實用性。數(shù)據(jù)采集技術(shù)已經(jīng)在雷達、通信、水聲、遙感、語音處理、智能儀器、工業(yè)自動化以及生物醫(yī)學工程等眾多領(lǐng)域得到廣泛的應(yīng)用。數(shù)據(jù)采集器一般包括數(shù)據(jù)采集部分和數(shù)據(jù)處理傳輸部分。前者包括信號的濾波、放大、采樣、保持、轉(zhuǎn)換、存儲等部分,后者包括數(shù)據(jù)讀取、傳輸及微機接口部分。

1 系統(tǒng)結(jié)構(gòu)及硬件電路設(shè)計

1.1 系統(tǒng)的結(jié)構(gòu)框圖及工作原理

本系統(tǒng)主要由四個模塊構(gòu)成:FLASH存儲器模塊、FPGA控制模塊、USB接口控制模塊及電源模塊。如圖1所示。

其工作原理是:FLASH模塊存儲數(shù)據(jù),作為記錄器的數(shù)據(jù)源;FPGA模塊作為讀數(shù)裝置的控制器,讀取FLASH的數(shù)據(jù)并傳輸給USB控制接口模塊;USB控制芯片接收來自上位機的命令[1],并與FPGA通信來執(zhí)行用戶需要的操作;電源模塊為各模塊提供穩(wěn)定電源。

圖1 系統(tǒng)總體結(jié)構(gòu)框圖

1.2 電源管理模塊

本系統(tǒng)中芯片的工作電壓有5 V、3.3 V、2.5 V。由于計算機的USB接口可以提供5 V電源,最大為500 mA的電流,對于此系統(tǒng)已足夠,所以本系統(tǒng)的5 V電源直接由USB供電,并利用5 V電源經(jīng)過電壓調(diào)節(jié)器AMS1117調(diào)整出3.3 V 和2.5 V 電源。

1.3 FPGA 模塊

本設(shè)計的FPGA采用XILINX公司的Spartan-2系列的XC2S50,包括FPGA配置電路和FPGA時鐘電路及接口配置。

FPGA的配置方式靈活多樣,本設(shè)計根據(jù)芯片是否能夠自己主動加載配置數(shù)據(jù)以及比特流的位寬,利用主串模式進行配置FPGA,如圖2所示。在FPGA的輸出端口上為每個端口連接了一個電阻,起到耦合限流的作用,使外部接口與FPGA進行匹配,防止電流過大等不良影響而燒壞芯片。

1.4 USB 接口模塊

一般USB的接口芯片種類大致可分為:主控制器、根集線器、接口芯片以及具有USB接口的微控制器。本設(shè)計利用的是EZ-USB FX2LP系列的CY7C68013A-128PIN芯片。

本設(shè)計采用0XC0的EEPROM啟動方式。即在EEPROM中首字節(jié)寫入0XC0,并將VID、PID、DID和配置字節(jié)寫入EEPROM。芯片上電后,將這些數(shù)據(jù)復制到片內(nèi)存儲器,并將其發(fā)送給主機,由主機根據(jù)ID數(shù)據(jù)選擇合適的固件程序下載到USB芯片內(nèi)。本設(shè)計使用具有I2C總線接口的串行EEPROM芯片AT24C64。AT24C64具有8192 x 8位容量,可重復擦除100萬次。

1.5 FLASH存儲器模塊

FLASH存儲器存儲著記錄器的數(shù)據(jù),本設(shè)計的目的就是從FLASH中讀取數(shù)據(jù)并傳入計算機進行保存。本設(shè)計采用SAMSUNG公司的K9F5608U0D NAND FLASH存儲器[2]。其特點如下:存儲單元陣列為(32M+1024k)bit×8bit;總共64k的塊,每塊含32頁,每頁為512+16字節(jié);以頁為單位編程(200μs典型編程時間),以塊為單位擦除(2ms典型擦除時間);命令、地址、數(shù)據(jù)復用端口;提供硬件數(shù)據(jù)保護功能。

本設(shè)計的硬件連接電路如圖3所示。其中MAX1658為K9F5608U0D提供電源,排阻起到耦合限流作用。

圖2 FPGA配置電路

圖3 FLASH存儲器連接電路

2 軟件程序設(shè)計

2.1 FPGA各模塊程序設(shè)計

本設(shè)計的FPGA程序采用Xilinx公司的ISE軟件。它提供給用戶一個從設(shè)計輸入到綜合、布線、仿真、下載的全套解決方案,并可以很方便的與其他EDA工具接口。

本設(shè)計中原理圖輸入采用其中的第三方軟件ECS,HDL綜合使用XST,測試臺輸入是圖形化的HDL Bencher,仿真使用Modelsim SE。簡要的流程如下:

建立工程項目;綜合;仿真;定義輸入輸出管腳約束;布局布線;下載配置。

FLASH模塊程序設(shè)計中FLASH控制模塊對FLASH存儲器K9F5608U0D執(zhí)行各種操作。K9F5608U0D芯片提供了8種命令,即8種操作:①讀1操作;②讀2操作;③讀ID操作;④復位操作;⑤頁編程操作;⑥復制回讀操作;⑦塊擦除操作;⑧讀狀態(tài)操作。

2.2 CY7C68013[3]固件程序開發(fā)

USB功能設(shè)備的硬件功能主要由硬件上的微處理器來實現(xiàn),因此需要為USB設(shè)備編寫固件程序。本設(shè)計的USB固件程序開發(fā)中,使用Keil Software公司推出的51系列兼容單片機軟件開發(fā)系統(tǒng)Keil μVision3。

圖4所示為68013A的固件程序流程圖,下面介紹如何編程。本設(shè)計采用固件框架中的Dscr.a51文件,修改設(shè)備描述符中的ID碼和字符串描述符,并修改相應(yīng)的端口配置,其余保持默認狀態(tài)。主機發(fā)送8字節(jié)的SETUPDAT數(shù)據(jù)包后[4],68013A將其進行解碼存入 SETUPDAT寄存器中。SETUPDAT[1]中存儲著USB發(fā)出的請求碼。在固件程序中使用switch-case語句對不同的請求碼進行分析,分別進行相應(yīng)的響應(yīng)。

圖4 固件程序流程圖

對于標準USB請求,在CY3684開發(fā)包內(nèi)已有完善的函數(shù)框架,本設(shè)計在保持其默認狀態(tài)下,修改其中的處理函數(shù),使其符合本設(shè)計的要求。在Fw.c文件中,最主要的兩個函數(shù)為Main( )函數(shù)和SetupCommand( ),其中Main( )函數(shù)控制整個68013A的程序流程,SetupCommand( )則對不同的設(shè)備請求進行分析,并調(diào)用響應(yīng)的執(zhí)行程序。

SetupCommand( )程序框架如下:

Void SetupCommand(void)

{ void*dscr_ptr; //指針變量

Switch(SETUPDAT[1]) //根據(jù)請求包類型分別處理

{//協(xié)議及請求處理代碼

}

EP0CS|=bmHSNAK;

//握手

}

在本設(shè)計需要使用自定義請求來介紹上位機的FLASH操作命令,因此需要在USB固件程序中聲明自定義請求。自定義請求和標準USB請求放在一起,但不能和已有的請求號相沖突。同時還需要編寫自定義請求對應(yīng)的處理函數(shù)。程序框架如下:

#define SC_SetData 0xa1 //自定義請求A1

此宏定義與標準USB請求的宏定義放在一起。

Switch(SETUPDAT[1]) //根據(jù)請求包類型分別處理

{ case SC_SetData: //協(xié)議請求代碼

SC_SetData( ); //協(xié)議處理函數(shù)

}

此請求包處理放在SetupCommand(void)函數(shù)內(nèi)。

對于對應(yīng)的處理函數(shù)則在Periph.c文件中進行定義。所有的USB設(shè)備請求響應(yīng)函數(shù),中斷函數(shù)都在此文件中定義。同時設(shè)備初始化函數(shù)TD_Init( ),用戶功能函數(shù)TD_Poll( ),掛起函數(shù)TD_Suspend( )和USB復位函數(shù)( )也都在此文件中定義。

本設(shè)計采用在上位機發(fā)送自定義請求A1,并在自定義請求中包含對FLASH操作的命令字,68013A在分析得到自定義請求A1后,在自定義請求A1中把命令字保存入一個全局變量[5],在用戶功能函數(shù)TD_Poll( )中執(zhí)行對命令字的分析并調(diào)用相應(yīng)的FLASH操作函數(shù)。對于傳輸?shù)缴衔粰C上的數(shù)據(jù)通過自定義請求A2、A3來執(zhí)行。

3 結(jié)論

本設(shè)計根據(jù)USB總線技術(shù)、FPGA技術(shù)及面向?qū)ο蟪绦蛟O(shè)計方法,對電路的組成原理、接口電路設(shè)計、系統(tǒng)控制信號的設(shè)計及USB上位機程序的設(shè)計做出詳細的說明,設(shè)計出基本符合課題要求的USB讀數(shù)裝置及上位機程序,基本完成了工作要求。當然本設(shè)計在USB接口的速度方面還需考慮更完善的方案。希望在以后的學習工作中能夠改進。

[1]潘建兵.基于USB總線的數(shù)據(jù)采集器的研制[D].重慶大學,2006.

[2]錢峰.EZ-USB FX2單片機原理、編程及應(yīng)用[M].北京:北京航空航天大學出版社,2006.

[3]Cypress Semiconductor Corporation.CY7C68013 EZ-USB FX2 USB Microcont-roller Highspeed USB Peripheral Controller[Z].2001 .

[4]孫航.Xilinx可編程邏輯器件應(yīng)用與系統(tǒng)設(shè)計[M].北京:電子工業(yè)出版社,2008.

[5]徐鈞.基于USB和FPGA技術(shù)的高性能數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[D].南京理工大學,2007.

猜你喜歡
固件存儲器上位
靜態(tài)隨機存儲器在軌自檢算法
特斯拉 風云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
基于固件的遠程身份認證
以新思路促推現(xiàn)代農(nóng)業(yè)上位
學習月刊(2015年3期)2015-07-09 03:51:04
提取ROM固件中的APP
電腦愛好者(2015年7期)2015-04-09 08:54:02
存儲器——安格爾(墨西哥)▲
一種通過USB接口的可靠固件升級技術(shù)
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
涿鹿县| 广灵县| 龙口市| 阳城县| 北辰区| 海淀区| 武川县| 永宁县| 醴陵市| 湾仔区| 湘潭县| 略阳县| 凤阳县| 恩平市| 韩城市| 托克托县| 佛山市| 麦盖提县| 乌审旗| 广丰县| 郑州市| 新巴尔虎右旗| 永春县| 西丰县| 武川县| 治多县| 临澧县| 苏州市| 盈江县| 龙州县| 通化市| 浦北县| 抚远县| 阿坝县| 德清县| 华坪县| 玛曲县| 博湖县| 衢州市| 抚州市| 蚌埠市|