『壹』 CH375晶元與51單片機使用匯流排方式連接,其中 命令I/O口地址是怎樣確定的
根據地址,P2.0接的是數據/命令控制信號A0,P2.1可能接的是片選信號CS,地址主要就看這兩個就可以了。其他無所謂。所以:
XXXX XX00 XXXX XXXX 數據口地址
XXXX XX01 XXXX XXXX命令口地址
『貳』 求助:單片機通過CH375B與PC機通信的問題
如果指的是PC上運行的上位機軟體,需要根據要實現的功能自己編寫,這沒有通用性。如果只是簡單調試,有許多TCP/IP調試軟體,如TCP調試助手。
『叄』 host主機方式是什麼意思,就是用ch375或372,實現單片機通過USB介面與pc通信,那個是主哪個是從多謝
你了解USB協議的話你就知道什麼是主機:USB是主從方式通訊的,通訊都是由host發起的。從協議上來看,能夠實現主機協議的一方就是host。
從硬體上來看,USB晶元分主控晶元和設備晶元兩種。通訊都是建立在主控晶元與設備晶元之間的。(如PC主板上有主控晶元,U盤上有設備晶元)
單片機通過USB與pc通訊中,主機很明顯是PC。單片機是從機設備。
『肆』 單片機怎麼對CH375初始化
//---------------------------------------------------------------------------------------
//名稱:CH372初始化函數
//功能:初始化CH372晶元
void CH375_Init()
{
unsigned char i;
#ifdef CHECK_EXIST
/* 測試CH375是否正常工作,可選操作,通常不需要 */
CH375_WR_CMD_PORT( CMD_CHECK_EXIST ); /* 測試CH375是否正常工作 */
CH375_WR_DAT_PORT( 0x55 ); /* 寫入測試數據 */
i = ~ 0x55; /* 返回數據應該是測試數據取反 */
if ( CH375_RD_DAT_PORT( ) != i ) /* CH375不正常 */
{
for ( i=80; i!=0; i-- )
{
CH375_WR_CMD_PORT( CMD_RESET_ALL ); /* 多次重復發命令,執行硬體復位 */
CH375_RD_DAT_PORT( );
}
CH375_WR_CMD_PORT( 0 );
Delay50ms( ); /* 延時50ms */
}
#endif
/* 設置USB工作模式, 必要操作 */
CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); //設置USB模式命令
CH375_WR_DAT_PORT( 0x02 ); /* 方式2即設置為使用內置固件的USB設備方式 */
for ( i=100; i!=0; i-- )
{ /* 等待操作成功,通常需要等待10uS-20uS */
if ( CH375_RD_DAT_PORT( ) == CMD_RET_SUCCESS ) break;
}
if ( i==0 ) { p1_0=0; } // CH375存在硬體錯誤
/* 下述啟用中斷,假定CH375連接在INT0 */
IT0 = 0; /* 置外部信號為低電平觸發 */
IE0 = 0; /* 清中斷標志 */
EX0 = 1; /* 允許CH375中斷 */
}
『伍』 在網上買了一個CH375模塊,然後想辦法跟單片機最小系統連接起來,插在電腦上竟然不識別,不安裝驅動,急
CH375是USB-HOST,有毛的驅動啊,不懂亂說,CH375和單片機連接可以通過並口,也可以通過串口連接,官方數據手冊有連接圖,這個不是用來插在電腦上的,插在電腦上的CH340G模塊,這個是用來連接USB外設的,比如USB鍵盤,滑鼠一類的,你是不是買錯了,想買USB轉串口的話去買CH340G模塊吧
『陸』 CH375如何和單片機連接
WR,RD,在51單片機是定義死的管腳,,
P3口的復用功能,
地址線引出。
『柒』 求助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協議的關鍵。
『捌』 晶元pl2303,PDIUSBD12,ch375這三個晶元都可以實現單片機和電腦之間的通信嗎。他們的區別是什麼呢
pl2303是USB1.1介面協議,是USB轉tll電平晶元,與單片機UART模塊直接通訊,串口通訊
PDIUSBD12 是USB1.1介面協議 ,與單片機是並口通訊。
CH375具有8位數據匯流排和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU等控制器的系統匯流排上。在USB主機方式下,CH375還提供了串列通信方式,通過串列輸入、串列輸出和中斷輸出與單片機/DSP/MCU等相連接。CH375的USB主機方式支持各種常用的USB全速設備,外部單片機/DSP/MCU可以通過CH375按照相應的USB協議與USB設備通信。