JC.Wang的分享家 https://bbs.21ic.com/?855347 [收藏] [复制] [RSS] ~~~菜鸟成长中~~~

日志

CH376调试记录

已有 1843 次阅读2012-9-17 03:05 |系统分类:接口电路| 376,USB

目标:利用CH376 HOST来读、写U盘内的文件;
第一天:配置硬件和软件环境,初始化CH376并利用测试命令测试芯片;

1.DSP部分:

1)配置SPI接口;

2)配置片选信号;

3)配置GPIO用来读取INT;

2.CH376的硬件描述层:

1)修改SPI_HW.c中的接口函数;

3.初始化:

1)对376进行测试命令,返回值错误;

      a.分析原因:未使用BZ引脚检测忙信号,而使用的for()循环延时,延时函数不满足376的操作条件,造成数据交换失败;

      b.解决办法:经过测试延时,降低误差后,通信成功;

2)配置376为U盘模式;

经过以上步骤,DSP已经可以和376进行正常通信了;

 

第二天:检测U盘插入并MOUNT。

1.检测插入顺利通过;

2.个别U盘出现MOUNT失败的现象,这个可能和376芯片有关,后来换了一个新的376,之前失败过的U盘都成功MOUNT;这里所谓的“新”是新出厂的,可能前几批出厂的芯片这里兼容的不是很好;

 

第三天:文件的写入和读取

1.写入文件:

1)错误1:写入文件时出现乱码;

   原因:官方的驱动中,函数CH376ByteWrite( );是按照ASCII码写入文件的,因此,要发送数字"1”,必须发送0x31才行;

2)  错误2:写入和读取文件正常,但是在电脑上却找不到U盘中的该文件;

   原因:这个可能跟U盘有关,2G的U盘,格式化为FAT系统,一切都正常,但是格式化为FAT32之后,下位机读写正常,电脑却找不到文件,这个问题一直没有解决,希望解决了的朋友帮忙解答一下;4G、8G、16G的U盘格式化为FAT32也全部正常,分配单元的大小似乎没有影响(同是FAT32的两个U盘,在分配单元大小=8192和64的情况下都成功了);

    也有人说在win7下格式化不管用,在XP下格式化管用,这个我没有验证,反正我的U盘都是在win7下格式化的;

 

几个需要注意的地方:


1mInitCH376Host中有个测试命令,先测试一下能否通过


2、检查一下SPI收发函数写的对不对,对照例程,尤其是Spi376Exchange在读数据时要先发送一个无效数据


3、硬件连接:


DSP       CH376


CLK<------->CLK


MOSI<------>SDI


MISO<------>SDO


片选由I/O控制


4、另注意CH376SPI时序有些特殊,在一次读写操作操作期间,SCS必须有效,完成后才能释放;


5、CH376默认状态只支持大写字母和数字,而小写字母并不支持!(扩展名也要大写)。并且CH376只支持扇区大小为512字节的U盘;


 


比较有帮助的两个论坛:


    1)WCH技术支持:http://www.wch.cn/bbs/Board.asp?S=101


    2)钰海科技:http://www.yuhaikeji.com/bbs/viewforum.php?f=12


  

        以上就是我在调试过程中遇到的问题,有不同意见的地方希望各位朋友提出,共同交流,共同进步;




路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)