1. 單片機讀寫U盤文件(主要步驟)
推薦用PB375A,單晶元的,我用在數據採集上。根本就沒去了解過USB HOST底層協議和文件系統這些東西,這顆晶元裡面都集成了。只需要單片機通過spi或者uart來發命令創建讀寫U盤中的文件就可以了。而且價格相當便宜!
2. 單片機讀寫U盤
單片機讀寫U盤的模塊 USB118
_不用電腦也能讀寫U盤中的文件!
■ 型 號: USB118AD USB118A
關鍵詞:U盤、單片機、USB2.0、USB Host、USB主設備、設備黑匣子、數據記錄
■ 簡 介
目前,基於USB2.0介面的移動存儲設備已經被廣泛使用,尤其是採用USB-FLASH技術的U盤產品的容量由幾年前的16M增加到現在的4G以上。我們知道,U盤通常是作為計算機的外部存儲設備,能否脫離計算機直接向U盤讀寫文件呢?答案是肯定的。USB118系列嵌入式U盤讀寫模塊提供了通過串口或SPI口讀寫U盤的簡單途徑,由此結合單片機的RS232串口或高速SPI匯流排就可以實現對U盤上的文件讀寫。 USB118AD型高速U盤讀寫模塊是對USB118A模塊的性能進行改進後的USB2.0介面的高速模塊,具有與USB118A模塊完全兼容的串口,同時增加了高速的SPI介面,主要應用於便攜儀器或者嵌入式數據採集系統的外掛式海量存儲。
■ 特 征
◆ 不必了解USB協議,直接嵌入用戶系統
◆ 兼容1G以上U盤、移動硬碟
◆ USB2.0介面,提供USB HOST介面
◆ RS232串口波特率:57600/115200/9600bps
◆ 高速SPI介面文件傳輸速度:150KByte/Sec
◆ 支持文件系統:FAT16/FAT32
◆ 創建Word、 Excel、二進制等各種類型文件
◆ 提供單片機編程實例C51源代碼
◆ 提供模塊測試板及電腦串口測試軟體
◆ 直流5V供電,電流100mA(不含U盤)
◆ 模塊只有火柴盒大小:51.6×43×12mm
■ 應 用
◆ 海量數據採集存儲
◆ 設備黑箱子
◆ 考勤機數據記錄
◆ 石油儀器儀表
◆ 紡織機械
◆ 水文監測
◆ 無紙記錄儀
■ 訂貨信息
產品型號 說明
USB118AD USB2.0介面,串口及SPI口
USB118AD_Demo USB118AD模塊測試板
USB118A USB1.1介面,TTL串口
USB118C 與USB118A尺寸不同
USB118D 與USB118A尺寸不同
註:USB118AD是升級產品,建議優先選用。可以根據用戶要求規格訂制,至今已經訂制的規格有:USB118C和USB118D等
3. 求助51單片機+CH375B讀寫U盤測試程序的問題
CH375是一個國產USB轉接晶元,集成了U盤操作固件,可以直接把U盤當做一個一個的扇區來讀寫,加上一個文件系統,你就可以在U盤上拷貝,粘貼,新建等Windos下具備的文件操作功能了。
另外其還支持從機模式,可以讓單片機或DSP通過它連接到電腦上實現一個自製的USB滑鼠/鍵盤或U盤等。其兼容USB2.0協議,最大傳輸速度為USB1.1的12Mbps。對於一般的嵌入式應用來說,速度已經能滿足需求。
更可貴的是,這時一片民族晶元,意味著你面對將是中文PDF和一個完善的網路技術支持氛圍。使用CH375將讓你學習USB協議不再枯燥,不再是紙上談兵。下面具體闡述一下這兩天自己恢復調試該晶元的「艱辛」,其實該晶元並不脆弱,我焊了又拆,拆了又焊上,還是可以用。主要是製造這個晶元南京那家公司技術支持資料太豐富了,太詳細了,以至於讓我在做電路時也是小心翼翼,最後反而吃了大虧。
一、CH375分為A和B兩個系列,A系列支持5V供電,B系列不僅支持5V還支持3.3V。
二、B系列中,如果使用5V供電,則V3引腳通過0.01uF電容接地,如果是3.3V,則V3接3.3V,這點很重要;
三、CH375資料上說對於電源VCC引腳端應該接0.01uF的電容到地,該電容功能為退耦電容,同時,晶振必須為12MHZ,晶振引腳和電容引腳盡量*近CH375的Xi和Xo引腳。如果硬體連接正確,上電時,在Xo端應該可以檢測到12MHZ的波形,在沒有示波器的情況下,可以用萬用表檢測Xi和Xo引腳是否為電源電壓的一半,即如果是5V供電,此時兩個引腳的電壓應該接近2.5V,我在自己製作的腐蝕板中變遇到了晶振無法起振的情況,開始懷疑是引腳離得有點遠,於是改變了電容的放置位置,使之更*近ch375兩個引腳,也沒有起振。然後懷疑是CH375壞了,前後一共換了3片還是沒有起振,最後在反復檢測電路後,換了一顆晶振,我把所有的懷疑都用完後,最後目光聚焦在了兩個0603封裝的22P電容上,當然開始我還不是懷疑電容有問題,而是ch375應用資料上給的電容是15p的,但手上又沒有這個容值的電容,電容都焊下來了,因為太小,掉哪去也不知道,於是重新換了兩個22p的,結果卻「奇跡般」的起振了。
難道困擾了我兩天的竟然是兩顆壞了的晶振電容?因為那兩個小東西也不知道躲哪去了,我不能再揪出來拷問,那就認為是人品問題吧,遇到了兩個壞了電容,或者是自己焊接的時候不小心焊壞了,罪過。。。後來我還原了電路,一層一層驗證,取下了VCC的退耦電容,可以工作;再把兩個電容移回原來離CH375較遠的位置,還是可以起振。僅以此調試經驗警醒自己,我懷疑的邏輯,相信大多數人也是這樣,越大的,越復雜的,越脆弱,呵呵,這種邏輯有問題么?調試是一個痛苦的過程,調試又是一個快樂的過程,恭喜你,嵌入式工程師,嘗盡人間苦樂!
四、當上電後CH375能起振了,這時還可以測一下25和26腳的電平,26為高,25為低,說明硬體復位時成功的,否則你就要看下RST連接的一個到VCC的0.47uF電容那是否有問題了。另外就是,在晶振沒有起振的情況下,往CH375寫數據,那個指示燈會不停的閃,寫一此,閃一次,這是不正常德。
五、當硬體能起振了,復位也完成了,請將8位數據口接到你的微控制器(單片機或DSP等),然後你還要接A0,WR,RD,INT,最後保證在軟體操作晶元的時候CS為低。如此,通過往CH375寫命令CMD_CHECK_EXIST(0x06),接著寫一個任意8位數據,稍微延時幾個毫秒,CH375會返回你一個數據,這個數據是你寫的數據的取反,如果你收到了這樣一個取反的數據,恭喜你,你的硬體和底層軟體讀寫操作成功了,接下了便可以開始自己的USB協議解析之旅。如果你收到的數據不是正確的取反數據,那麼請仔細檢查在沒有任何線連接的情況下,晶振是否起振,復位是否成功,如果晶振已經起振,你已經成功了一大半,至於讀寫的時序,網上到處都是,51的,AVR的,找一個可以用的,稍作移植便可以使用。底層操作成功,是後續分析和學習USB協議的關鍵。
4. 單片機讀U盤,什麼方案最便宜最方便,求推薦
比較容易的方法是用CH376。
CH376是文件管理控制晶元,用於單片機系統讀寫U盤或者SD卡中的文件。
CH376支持USB設備方式和USB 主機方式,並且內置了USB通訊協議的基本固件,內置了處理Mass-Storage海量存儲設備的專用通訊協議的固件,內置了SD卡的通訊介面固件,內置了FAT16和FAT32以及FAT12文件系統的管理固件,支持常用的USB存儲設備(包括U 盤/USB 硬碟/USB 快閃記憶體檔/USB 讀卡器)和SD卡(包括標准容量SD卡和高容量HC-SD卡以及協議兼容的MMC 卡和TF 卡)。
CH376支持三種通訊介面:8位並口、SPI介面或者非同步串口,單片機/DSP/MCU/MPU 等控制器可以通過上述任何一種通訊介面控制CH376 晶元,存取U 盤或者SD 卡中的文件或者與計算機通訊。
5. 單片機運行U盤中程序
單片機如果可以從RAM中運行程序,比如arm stm32,就可以讀出u盤的數據到RAM中,然後一個ljmp 就可以運行了。如果單片機RAM中只能存儲數據,不能運行程序,那如果有IAP功能,可以用bootloader 讀出u盤的程序寫入flash,也就是升級ROM
6. 單片機怎樣讀取U盤和SD卡的數據
可以參考如下資料:
1.上Atmel網站,查找關於SAM9261(926x)的資料,應該有樣常式序,U盤屬於USB Host方面。
2.上NXP網站,查找關於LPC24xx的資料,可能有樣常式序,U盤屬於USB Host方面。
3.上ST網站,查找關於STM32F103的資料,SD卡屬於SPI、SDIO方面,有樣常式序。
7. 51單片機讀寫U盤
您可以看看西安達泰電子的USB118AD 提供TTL串口和SPI口。可以對U盤進行讀寫操作。