‘壹’ 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设备通信。