freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的u盤數(shù)據(jù)傳輸裝置設(shè)計(jì)論文-wenkub

2023-03-09 10:23:29 本頁(yè)面
 

【正文】 被動(dòng)并行接口用于與 外部單片機(jī) /DSP/MCU 交換數(shù)據(jù)。 內(nèi)部結(jié)構(gòu) CH375 芯片內(nèi)部集成了 PLL 倍頻器、主從 USB 接口 SIE、數(shù)據(jù)緩沖區(qū)、被 動(dòng)并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。如果從外部直接輸入 12MHz時(shí)鐘信號(hào),那么應(yīng) 該從 XI 引腳輸入,而 XO 引腳懸空。 RST 和 RST引腳可以用于向外部單片機(jī)提供上電復(fù)位信號(hào)。 CH375芯片內(nèi)置了電源上電復(fù)位電路,一般情況下,不需要外部提供復(fù)位。對(duì)于 CH375A 芯片,在 USB主機(jī)方式下,當(dāng) USB 設(shè)備斷開后,該引腳輸出高電平;當(dāng) USB設(shè)備連接后,該引腳輸出低電平。如果 CH375 在復(fù)位期間檢測(cè)到 TXD引腳為低電平則啟用并行接口,否則啟用串行接口。 CH375 的串行數(shù)據(jù)格式是 1個(gè)起始位、9個(gè)數(shù)據(jù)位、 1個(gè)停止位,其中前 8個(gè)數(shù)據(jù)位是一個(gè)字節(jié)數(shù)據(jù),最后 1個(gè)數(shù)據(jù)位是命令標(biāo)志位。串口信號(hào)線包括:串行數(shù)據(jù)輸入引腳 RXD、串行數(shù)據(jù)輸出引腳 TXD、中斷輸出引腳 INT。在 USB主機(jī)方式下, CH375支持各種常用的 USB全速設(shè)備,外部單片機(jī)需要編寫固件程序按照相應(yīng)的 USB協(xié)議與 USB 設(shè)備通訊。 11)支持 5V 電源電壓和 電源電壓, CH375A 芯片還支持低功耗模式。 7) 內(nèi)置固件處理海量存儲(chǔ)設(shè)備的專用通訊協(xié)議,支持 BulkOnly傳輸協(xié)議和 SCSI、 UFI、 RBC 或等效命令集的 USB 存儲(chǔ)設(shè)備(包括 USB 硬盤 /USB 閃存盤 /U 盤)。 3)主機(jī)端點(diǎn)輸入和輸出緩沖區(qū)各 64 字節(jié),支持常用的 12Mbps 全速 USB 設(shè)備。在 USB主機(jī)方式下, CH375還提供了串行 通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機(jī) /DSP/MCU/MPU 等相連接。 USB的拓?fù)浣Y(jié)構(gòu)中居于核心地位的是 Host(也稱為主機(jī)),任何一次 USB 的數(shù)據(jù)傳輸都必須由主機(jī)來發(fā)起和控制,所有的 USB 外設(shè)都只能和主機(jī)建立連接,任何兩個(gè)外設(shè)之間或是兩個(gè)主機(jī)之間無法直接通信。以單片機(jī)等微處理器為核心的嵌入式系統(tǒng)的應(yīng)用中,尚缺少與 U盤的直接接口技術(shù)。因此用51系列單片機(jī)實(shí)現(xiàn) USB 主機(jī)接口,進(jìn)而實(shí)現(xiàn)對(duì) USB 外設(shè)的控制,對(duì)提高整個(gè)系統(tǒng)的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸、設(shè)備控制等性能都有很大的作用。隨著數(shù)據(jù)采集和單片機(jī)用戶對(duì)移動(dòng)存儲(chǔ)的需求越來越大,具有 USB 接口的存儲(chǔ)設(shè)備以其優(yōu)異的性價(jià)比和靈活性常用來進(jìn)行數(shù)據(jù)的存儲(chǔ)和交換,所以在單片機(jī)系統(tǒng)中實(shí)現(xiàn)對(duì)優(yōu)盤或移動(dòng)硬盤的 直接讀寫是非常有價(jià)值的。 如今的 USB 就象當(dāng)日的 RS232,最終發(fā)展必是業(yè)界的主流外設(shè)接口技術(shù)。在傳統(tǒng)的應(yīng)用中,主要是 PC 扮演著主機(jī)的角色。最后附錄中的程序提供了一個(gè)能夠?qū)崿F(xiàn)單片機(jī)以字節(jié) 的方式對(duì) U盤的讀和寫的程序。例如,可以將單片機(jī)系統(tǒng)中 AD轉(zhuǎn)換后采集到的數(shù)據(jù),儲(chǔ)存到 U盤之中,以便于利用計(jì)算機(jī)對(duì)數(shù)據(jù)經(jīng)行整理或分析。USB總線技術(shù)的發(fā)展,使得數(shù)據(jù)傳輸和采集技術(shù),變得簡(jiǎn)單,易攜和方便使用。基于 USB總線技術(shù)的 USB儲(chǔ)存設(shè)備簡(jiǎn)稱 U盤,它具有支持熱拔熱插,儲(chǔ)存量大,耐用,和輕巧方便的特點(diǎn)。本文主要介紹一種技術(shù)成熟 U盤讀寫芯片 CH375和以此芯片為核心的 U盤讀寫模塊,簡(jiǎn)單介紹了 CH375芯片的構(gòu)造和特點(diǎn),以及 U盤模塊的應(yīng)用特點(diǎn)。 關(guān)鍵詞 :?jiǎn)纹瑱C(jī) U盤 U盤模塊 串口 通信 RS232接口 CH375 電平 一, 引言 半導(dǎo)體技術(shù)的發(fā)展帶來計(jì)算機(jī)向微型化發(fā)展的革命,同時(shí)隨著計(jì)算機(jī)技術(shù)的快速發(fā)展, USB( Universal Serial Bus)存儲(chǔ)設(shè)備的使用已經(jīng)非常普遍, USB 用于將適用 USB 的外圍設(shè)備(device)連接到主機(jī) (host),實(shí)現(xiàn)二者之間數(shù)據(jù)傳輸?shù)耐獠靠偩€結(jié)構(gòu);是一種快速、靈活的總線接口。根據(jù) USB 的規(guī)范,可以看到在 USB 的拓樸結(jié)構(gòu)中居于核心地位的是主機(jī),每一次的數(shù)據(jù)傳輸都必須由主機(jī)發(fā)起和控制。 USB 有著其它接口不可替代的優(yōu)勢(shì)。 二, 研究的意義 USB 是近年發(fā)展起來的一種快速、靈活的總線接口。 根據(jù)我們的調(diào)查和了解,我們發(fā)現(xiàn), 隨著 Flash Memory非易失存儲(chǔ)技術(shù)的發(fā)展,基于 USB接口的閃存即 U盤現(xiàn)已得到廣泛應(yīng)用。因此將單片機(jī)技術(shù)與 U盤存儲(chǔ)技術(shù)兩者結(jié)合起來,利用單片機(jī)直接讀寫 U 盤,并通過總線方式與嵌入式系統(tǒng)的其它部分實(shí)現(xiàn)命令和數(shù)據(jù)的通信。鑒于復(fù)雜的 USB 協(xié)議,我們覺得可以采用 USB 讀寫模塊,這樣只要將 USB 讀寫模塊嵌入到用戶單片機(jī)系統(tǒng)中,就可以通過單片機(jī)的串口與 USB 讀寫模塊之間的通信,進(jìn)而讀寫 U盤里面的數(shù)據(jù),還可以方便的利用 U 盤儲(chǔ)存海量的 AD 轉(zhuǎn)換后的數(shù) 據(jù)等。 CH375的 USB 主機(jī)方式支持常用的 USB 全 速設(shè)備,外部單片機(jī)可以通過 CH375 按照相應(yīng)的 USB 協(xié)議與 USB 設(shè)備通訊。 4)支持 USB 設(shè)備的控制傳輸、批量傳輸、中斷傳輸。 8)通過 U 盤文件級(jí)子程序庫(kù)實(shí)現(xiàn)單片機(jī)讀寫 USB 存儲(chǔ)設(shè)備中的文件。 12)采用 SOP28 封裝,可以提供 SOP28 到 DIP28 的轉(zhuǎn)換板。但是對(duì)于 USB存儲(chǔ)設(shè)備, CH375 內(nèi)置了相關(guān)協(xié)議,通常情況下,外部單片機(jī)不需要編寫固件程序,就可以直接通訊。通過串行接口, CH375 可以用最少的連線與單片機(jī)、 DSP、 MCU 進(jìn)行較遠(yuǎn)距離的點(diǎn)對(duì)點(diǎn)連接。第 9位為 0時(shí),前 8位的數(shù)據(jù)被寫入 CH375芯片中,第 9位為 1時(shí),前 8位被作為命令碼寫入 CH375芯 片中。如果啟用串行接口,那么復(fù)位完成后 TXD引腳將用于串行數(shù)據(jù)輸出,并且 CH375 芯片只能工作于 USB 主機(jī)方式。 CH375 的 ACT引腳可以外接串了限流電阻的發(fā)光二級(jí)管 LED,用于指示相關(guān)的狀態(tài)。 RSTI 引腳用于從外部輸入異步復(fù)位信號(hào);當(dāng) RSTI 引腳為高電平時(shí), CH375芯片被復(fù)位;當(dāng) RSTI 引腳恢復(fù)為低電平后, CH375會(huì)繼續(xù)延時(shí)復(fù)位 20mS 左右,然后進(jìn)入正常工作狀態(tài)。 CH375芯片正常工作時(shí)需要外部為其提供 12MHz 的時(shí)鐘信號(hào)。 CH375芯片支持 5V電源電壓或者 電源電壓。 PLL 倍頻器用于將外部輸入的 12MHz 時(shí)鐘倍頻到 48MHz,作為 USB 接口 SIE 時(shí)鐘。 異步串行接口用于代替被動(dòng)并行接口與外部單片機(jī) /DSP/MCU 交換數(shù)據(jù)。 CH375 芯片內(nèi)部具有 7 個(gè)物理 端點(diǎn): 端點(diǎn) 0 是默認(rèn)端點(diǎn),支持上傳和下傳,上傳和下傳緩沖區(qū)各是 8 個(gè)字節(jié); 端點(diǎn) 1包括上傳端點(diǎn)和下傳端點(diǎn),上傳和下傳緩沖區(qū)各是 8個(gè)字節(jié),上傳端點(diǎn)的端點(diǎn)號(hào)是 81H,下傳端點(diǎn)的端點(diǎn)號(hào)是 01H; 端點(diǎn) 2 包括上傳端點(diǎn)和下傳端點(diǎn),上傳和下傳緩沖區(qū)各是 64 個(gè)字節(jié),上傳端點(diǎn)的端點(diǎn)號(hào)是82H,下傳端點(diǎn)的端點(diǎn)號(hào)是 02H; 主機(jī)端點(diǎn)包括輸出端點(diǎn)和輸入端點(diǎn),輸出和輸入緩沖區(qū)各是 64 個(gè)字節(jié),主機(jī)端點(diǎn)與端點(diǎn) 2合用同一組緩沖區(qū),主機(jī)端點(diǎn)的輸出緩沖區(qū)就是端點(diǎn) 2 的上傳緩沖區(qū),主機(jī)端點(diǎn)的輸入緩沖區(qū)就是端點(diǎn) 2 的下傳緩沖區(qū)。 內(nèi)置固件可以處理 MassStorage 海量存儲(chǔ)設(shè)備的通訊協(xié)議,要求 USB 存儲(chǔ)設(shè)備支持 BulkOnly傳輸協(xié)議,支持 SCSI、 UFI、 RBC或者等效的命令集,并且數(shù)據(jù)端點(diǎn)的最大包長(zhǎng)度是 64 字節(jié),但是默認(rèn) 端點(diǎn) 0 的最大包長(zhǎng)度可以是 1 32 或者 64 字節(jié)。命令操作步驟如下: ①、在 A0=1 時(shí)向命令端口寫入命令代碼; ②、如果該命令具有輸入數(shù)據(jù),則在 A0=0 時(shí)依次寫入輸入數(shù)據(jù),每次一個(gè)字節(jié); ③、如果該命令具有輸出數(shù)據(jù),則在 A0=0 時(shí)依次讀取輸出數(shù)據(jù),每次一個(gè)字節(jié); ④、命令完成,可以暫?;蛘咿D(zhuǎn)到①繼續(xù)執(zhí)行下一個(gè)命令。 如果不需要處理文件系統(tǒng),也就是不處理上圖左邊的最頂層,那么 CH375 直接提供了數(shù)據(jù)塊的讀寫接口,以 512字節(jié)的物理扇區(qū)為基本讀寫單位,從而將 USB存儲(chǔ)設(shè)備簡(jiǎn)化為一種外部數(shù)據(jù)存儲(chǔ)器,單片機(jī)可以自由讀寫 USB 存儲(chǔ)設(shè)備中的數(shù)據(jù),也可以自由定義其數(shù)據(jù)結(jié)構(gòu)。 CH375 的文件級(jí)子程序庫(kù)需要大約 600 字節(jié)的隨機(jī)存儲(chǔ)器 RAM 作為緩沖區(qū)。模塊可以通過串行輸入 SIN、串行輸出 SOUT 連接到單片機(jī)的異步串口,除此之外,啟動(dòng)輸入 STA還應(yīng)該連接到單片機(jī)的一個(gè) I/O 引腳,而中斷輸出 INT可以根據(jù)需要決定是否連接到單片機(jī)的中斷引腳。在通過串口輸入兩個(gè)同步碼字節(jié)時(shí),模塊會(huì)檢查串口數(shù)據(jù)輸入超時(shí),如果連續(xù)兩個(gè)數(shù) 據(jù)字節(jié)之間的間隔大于串口輸入超時(shí)時(shí)間,則模塊將放棄該同步碼及命令包。 典型的批量 數(shù)據(jù)包括象使用打印機(jī)或掃描儀時(shí)所出現(xiàn)的大數(shù)據(jù)量的數(shù)據(jù),這種批量數(shù)據(jù)是連續(xù)的,通過在硬件中實(shí)現(xiàn)差錯(cuò)檢測(cè)功能,并且有選擇地進(jìn)行一定的應(yīng)進(jìn)重試操作,可以在硬件層次上保證數(shù)據(jù)的可靠交換。通常所用的 U 盤、移動(dòng)硬盤均屬于海量存儲(chǔ)類。 UFI 命令塊規(guī)范是針對(duì) USB 移動(dòng)存儲(chǔ)而制定的,它總共定義了 19 個(gè) 12 字節(jié)長(zhǎng)度的操作命令。 CBW 包標(biāo)記,表明這是一個(gè) CBW 包,這個(gè)域的值為 43425355H。指明命令執(zhí)行期間在 Bulk 端點(diǎn)上傳數(shù)據(jù)的字節(jié)長(zhǎng)度,如果這個(gè)域的值是 0,則在 CBW 和 CSW 之間設(shè)備和主機(jī)不傳輸任何數(shù)據(jù),并且設(shè)備將忽略在命令塊標(biāo)旗域中的方向位的值。指定命令塊被發(fā)送到的邏輯單元號(hào),如果設(shè)備不支持多個(gè)邏輯單元號(hào),則主機(jī)將這個(gè)域設(shè)置為 0。 CSW 向主機(jī)表明來自于 CBW 包的命令塊的執(zhí)行狀態(tài)。 2)命令狀態(tài)標(biāo)記。 4)命令執(zhí)行狀 態(tài),表明命令成功或失敗信息,如果命令執(zhí)行成功,則設(shè)備將設(shè)置此域的值為 0,非 0 值;則表明失敗或錯(cuò)誤。指明命令將發(fā)送到哪個(gè)邏輯單元,如果設(shè)備只有一個(gè)邏輯單元,則此域的值為 0。 5)參數(shù)列表長(zhǎng)度,用于指定發(fā)送到設(shè)備的字節(jié)數(shù),這個(gè)域典型的應(yīng)用于發(fā)送到設(shè)備的參 數(shù)命令塊(如模式參數(shù)、診斷參數(shù)等),若此域的值為 0,則表面沒有數(shù)據(jù)需要傳輸。通常情況下,每扇區(qū) 512 字節(jié)的原則是不變的,簇的大小一般是 2n( n 為整數(shù))個(gè)扇區(qū)的大小。最后是引導(dǎo)程序代碼以及扇區(qū)結(jié)束標(biāo)志。 USB 模塊負(fù)責(zé)檢測(cè) USB 設(shè)備的移入 /移出,對(duì)插入的設(shè)備進(jìn)行枚 舉,分配設(shè)備地址端點(diǎn)號(hào),配置設(shè)備接口端點(diǎn)描述符,建立 BULK_ONLY 輸入 /輸出通道, BULK 模塊則在已建立的 BULK_ONLY 輸入 /輸出通道發(fā)送 CBW 數(shù)據(jù)包,并接收 CSW 數(shù)據(jù)包,通過 CBW 中嵌入的 CBWCB 信息確定對(duì) U 盤讀 /寫操作的扇區(qū)位置和大小, FAT 模塊主要完成簇和扇區(qū)間的索引定位,即在 U 盤內(nèi)尋址,利用 BPB 中的參數(shù)計(jì)算給定扇區(qū)的所在簇以及進(jìn)入休眠狀態(tài),等待外部中斷喚醒。 圖 12 UFI結(jié)構(gòu) 圖 13 命令與數(shù)據(jù)字結(jié)構(gòu) 七,總結(jié) 此次科研立項(xiàng)是我們從大學(xué)生活重要的一步。此次科研立項(xiàng)是對(duì)我專業(yè)知識(shí)和專業(yè)基礎(chǔ)知識(shí)一次實(shí)際檢驗(yàn)和鞏固,同時(shí)也是我為未來的單片機(jī)和嵌入式開發(fā)與應(yīng)用的的一次熱身。比如缺乏綜合應(yīng)用專業(yè)知識(shí)的能力,對(duì)集成芯片的不了解等等。 include include include include define MAX_PATH_LEN 32 include unsigned char TempLength。 sbit p2_0=P2^0。 i ) { for ( j = 200。 j != 0。 while ( TI == 0 )。 RI = 0。 mSendByte( SER_SYNC_CODE2 )。 if ( len ) { for ( i = 0。 if ( status == ERR_SUCCESS ){ i = mRecvByte( )。 j ++。 } else { if ( status == ERR_DISK_DISCON || status == ERR_USB_CONNECT ) mDelaymS( 100 )。 if ( iError == ERR_SUCCESS ) return。 /* LED閃爍 */ mDelaymS( 100 )。 unsigned char *pStr。 mDelaymS( 100 )。 PCON = 0x80。 while ( 1 ) /* 程序中使用查詢方式查詢模塊狀態(tài),和向模塊發(fā)送同步碼啟動(dòng)操作,然后發(fā)送相關(guān)的命令 */ { while ( 1 ) { i = ExecCommand( CMD_QueryStatus, 0 )。 } mDelaymS( 500 )。 i ++ ) { mDelaymS( 100 )。 TempLength = 0。 mStopIfError( i )。 i = ExecCommand( CMD_FileClose, 1 )。 mStopIfErr
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1