0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CH375B

CH375B

  • 厂商:

    WCH(南京沁恒)

  • 封装:

    SOP-28_17.9X7.6MM

  • 描述:

    CH375B

  • 数据手册
  • 价格&库存
CH375B 数据手册
1 CH375 中文手册(一) USB 总线接口芯片 CH375 中文手册 版本: 4 http://wch.cn 1、概述 CH375 是一个 USB 总线的通用接口芯片, 支持 USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。 在本地端,CH375 具有 8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机 /DSP/MCU/MPU 等控制器的系统总线上。在 USB 主机方式下,CH375 还提供了串行通讯方式,通过串行 输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。 CH375 的 USB 设备方式与 CH372 芯片完全兼容,CH375 包含了 CH372 的全部功能。本手册中没有 提供 CH375 在 USB 设备方式下的说明,相关资料可以参考 CH372 手册 CH372DS1.PDF。 CH375 的 USB 主机方式支持常用的 USB 全速设备,外部单片机可以通过 CH375 按照相应的 USB 协 议与 USB 设备通讯。CH375 还内置了处理 Mass-Storage 海量存储设备的专用通讯协议的固件,外部 单片机可以直接以扇区为基本单位读写常用的 USB 存储设备(包括 USB 硬盘/USB 闪存盘/U 盘) 。 D [7-0] 本地端 控制器 单片机 DSP MCU MPU 等 INT# CS# CH375 接口芯片 D+ 计算机或 USB 设备 例如: USB 打印机 USB 键盘/鼠标 DUSB 闪存盘 外置硬盘 U 盘/闪盘等 A0 RD# WR# 2、特点 ● ● ● ● ● ● ● ● ● ● ● ● 低速和全速 USB-HOST 主机接口,兼容 USB V2.0,外围元器件只需要晶体和电容。 低速和全速 USB 设备接口,完全兼容 CH372 芯片,支持动态切换主机与设备方式。 主机端点输入和输出缓冲区各 64 字节,支持 12Mbps 全速 USB 设备和 1.5Mbps 低速设备。 支持 USB 设备的控制传输、批量传输、中断传输。 自动检测 USB 设备的连接和断开,提供设备连接和断开的事件通知。 内置控制传输的协议处理器,简化常用的控制传输。 内置固件处理海量存储设备的专用通讯协议,支持 Bulk-Only 传输协议和 SCSI、UFI、RBC 或 等效命令集的 USB 存储设备(包括 USB 硬盘/USB 闪存盘/U 盘/USB 读卡器) 。 通过 U 盘文件级子程序库实现单片机读写 USB 存储设备中的文件。 并行接口包含 8 位数据总线,4 线控制:读选通、写选通、片选输入、中断输出。 串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。 支持 5V 电源电压和 3.3V 电源电压,支持低功耗模式。 采用 SOP-28 无铅封装,兼容 RoHS,提供 SOP28 到 DIP28 的转换板,引脚基本兼容 CH374 芯片。 2 CH375 中文手册(一) 3、封装 封装形式 塑体宽度 引脚间距 封装说明 订货型号 SOP-28 7.62mm 300mil 1.27mm 50mil 标准的 28 脚贴片 CH375C SOP-28 7.62mm 300mil 1.27mm 50mil 标准的 28 脚贴片 CH375B 区别:CH375B 必须外接晶体及振荡电容; CH375C 既可以选择外接晶体及电容,也可以选择不外接而直接使用内置时钟。 4、引脚 引脚号 28 12、23 引脚名称 VCC GND 类型 电源 电源 9 V3 电源 13 XI 输入 14 XO 输出 10 11 22~15 4 3 27 1 UD+ UDD7~D0 RD# WR# CS# INT# USB 信号 USB 信号 双向三态 输入 输入 输入 输出 8 A0 输入 24 ACT# 输出 5 TXD 输入 输出 6 RXD 输入 引脚说明 正电源输入端,需要外接 0.1uF 电源退耦电容 公共接地端,需要连接 USB 总线的地线 在 3.3V 电源电压时连接 VCC 输入外部电源, 在 5V 电源电压时外接容量为 0.01uF~0.1uF 退耦电容 晶体振荡的输入端,需要外接晶体及振荡电容。 对于 CH375C 的内置时钟模式,XI 应该接 GND 晶体振荡的反相输出端,需要外接晶体及振荡电容。 对于 CH375C 的内置时钟模式,XO 应该悬空 USB 总线的 D+数据线 USB 总线的 D-数据线 8 位双向数据总线,内置弱上拉电阻 读选通输入,低电平有效,内置弱上拉电阻 写选通输入,低电平有效,内置弱上拉电阻 片选控制输入,低电平有效,内置弱上拉电阻 在复位完成后为中断请求输出,低电平有效 地址线输入,区分命令口与数据口,内置弱上拉电阻, 当 A0=1 时可以写命令,当 A0=0 时可以读写数据 在内置固件的 USB 设备方式下是 USB 设备配置完成状态输出,低电平有效。 在 USB 主机方式下是 USB 设备连接状态输出,低电平有效 仅用于 USB 主机方式,设备方式只支持并口, 在复位期间为输入引脚,内置弱上拉电阻, 如果在复位期间输入低电平那么使能并口, 否则使能串口,复位完成后为串行数据输出 串行数据输入,内置弱上拉电阻 3 CH375 中文手册(一) 2 25 26 7 RSTI RST RST# NC. 输入 输出 输出 空脚 外部复位输入,高电平有效,内置下拉电阻 电源上电复位和外部复位输出,高电平有效 电源上电复位和外部复位输出,低电平有效 空脚,必须悬空 5、命令 本手册中的数据,后缀 B 为二进制数,后缀 H 为十六进制数,否则为十进制数。 本手册中所指的单片机基本适用于 DSP 或者 MCU/MPU/SCM 等。 本手册主要提供了 USB 存储设备类命令,专用于 USB 海量存储设备,关于执行事务命令以及常用 控制传输命令请参考手册(二) ,关于 USB 设备方式下的命令请参考 CH372 手册。 代码 命令名称 输入数据 输出数据 命令用途 01H GET_IC_VER 获取芯片及固件版本 分频系数 分频常数 版本号 (等 1mS) 操作状态 02H SET_BAUDRATE 03H 05H 06H 0AH ENTER_SLEEP RESET_ALL CHECK_EXIST GET_MAX_LUN 0BH SET_DISK_LUN 0BH SET_PKT_P_SEC 15H SET_USB_MODE 16H TEST_CONNECT 17H 22H ABORT_NAK GET_STATUS 28H RD_USB_DATA 2BH WR_USB_DATA7 51H DISK_INIT 产生中断 初始化 USB 存储设备 53H DISK_SIZE 产生中断 获取 USB 存储设备的容量 54H DISK_READ 产生中断 从 USB 存储设备读数据块 55H DISK_RD_GO 产生中断 继续 USB 存储设备的读操作 56H DISK_WRITE 产生中断 向 USB 存储设备写数据块 57H DISK_WR_GO 产生中断 继续 USB 存储设备的写操作 58H DISK_INQUIRY 产生中断 查询 USB 存储设备的特性 59H DISK_READY 产生中断 检查 USB 存储设备是否就绪 5AH DISK_R_SENSE 产生中断 检查 USB 存储设备的错误 任意数据 数据 38H 数据 34H 逻辑单元号 数据 39H 每扇区包数 模式代码 (等 40mS) 按位取反 最大单元号 (等 20uS) 操作状态 (等 2uS) 连接状态 中断状态 数据长度 数据流 数据长度 LBA 地址 扇区数 进入低功耗睡眠挂起状态 执行硬件复位 测试工作状态 获取 USB 存储设备最大逻辑单元号 设置 USB 存储设备的 当前逻辑单元号 设置 USB 存储设备的 每扇区数据包总数 设置 USB 工作模式 检查 USB 设备的连接状态 放弃当前 NAK 的重试 获取中断状态并取消请求 从当前 USB 中断的 端点缓冲区读取数据块 向 USB 主机端点的 输出缓冲区写入数据块 数据流 LBA 地址 扇区数 设置串口通讯波特率 如果命令的输出数据是操作状态,参考下表。 状态代码 状态名称 状态说明 4 CH375 中文手册(一) 51H 5FH CMD_RET_SUCCESS CMD_RET_ABORT 操作成功 操作失败 5.1. 命令 GET_IC_VER 该命令获取芯片及固件版本。返回的一个字节数据是版本号,其位 7 为 1,位 6 为 0,位 5~位 0 为版本号。如果返回值为 0B7H,去掉位 7 的 1,版本号为 37H。 5.2. 命令 SET_BAUDRATE 该命令设置 CH375 的串口通讯波特率。在 CH375 工作于串口通讯方式时,复位后默认的通讯波特 率是 9600bps,如果单片机支持较高的通讯速度,可以通过该命令动态调整串口通讯波特率。该命令 需要输入两个数据,分别是波特率分频系数和分频常数。 通常情况下,设置串口通讯波特率在 1mS 时间之内完成,完成后 CH375 以新设定的通讯波特率输 出操作状态,所以单片机应该在发出命令后及时调整自身的通讯波特率。 下面是串口通讯波特率对应的分频系数和分频常数。 分频系数 02H 02H 03H 03H 03H 07H 03H 03H 03H 02H 03H 分频常数 B2H D9H 98H CCH F3H F3H C4H FAH FDH 常数 常数 串口通讯波特率(bps) 9600 19200 57600 115200 460800 921600 100000 1000000 2000000 计算公式: 750000/(256-常数) 计算公式:6000000/(256-常数) 误差 0.16% 0.16% 0.16% 0.16% 0.16% 0.16% 0% 0% 0% 5.3. 命令 ENTER_SLEEP 该命令使 CH375 芯片进入低功耗睡眠挂起状态(部分型号的芯片不支持该功能) 。进入低功耗状 态后,CH375 芯片的时钟停振,从而节约电能,直到检测到以下两种情况之一才退出低功耗状态:一 是检测到 USB 总线有信号;二是单片机向 CH375 芯片写入新的命令(没有输入数据的命令,例如 GET_IC_VER 或者 ABORT_NAK 命令) 。 通常情况下,CH375 芯片从低功耗状态退出并恢复到正常工作状态需要几毫秒的唤醒时间,当完 全恢复到正常工作状态后,CH375 将产生 USB_INT_WAKE_UP 事件中断。 5.4. 命令 RESET_ALL 该命令使 CH375 执行硬件复位。通常情况下,硬件复位在 40mS 时间之内完成。 5.5. 命令 CHECK_EXIST 该命令测试工作状态,以检查 CH375 是否正常工作。该命令需要输入 1 个数据,可以是任意数据, 如果 CH375 正常工作,那么 CH375 的输出数据是输入数据的按位取反。例如,输入数据是 57H,则输 出数据是 A8H。另外,在 CH375 复位后未收到任何命令之前,从其并口通常是读出数据 00H。 CH375 中文手册(一) 5 5.6. 命令 GET_MAX_LUN 该命令获取 USB 存储设备的最大逻辑单元号。该命令需要输入 1 个数据 38H,输出为 USB 存储设 备的最大逻辑单元号。有些 USB 存储设备支持多逻辑单元,最大逻辑单元号加 1 就是逻辑单元总数。 5.7. 命令 SET_DISK_LUN 该命令设置 USB 存储设备的当前逻辑单元号。该命令需要输入两个数据,分别是数据 34H 和新的 当前逻辑单元号。有些 USB 存储设备支持多逻辑单元,CH375 初始化 USB 存储设备后,默认是访问 0# 逻辑单元,如果需要访问其它逻辑单元,那么可以通过该命令选择当前逻辑单元号。 5.8. 命令 SET_PKT_P_SEC 该命令设置 USB 存储设备的每扇区数据包总数。该命令需要输入两个数据,分别是数据 39H 和新 的每扇区数据包总数。CH375 初始化 USB 存储设备后,默认是每扇区 512 字节,如果通过 DISK_SIZE 命令获得的扇区大小不是 512 字节,那么可以通过该命令设置每扇区的数据包总数,其值为扇区大小 除以 64,对于 512 字节的扇区,数据包总数为 8,对于 2048 字节的扇区,数据包总数为 32。 5.9. 命令 SET_USB_MODE 该命令设置 USB 工作模式。该命令需要输入 1 个数据,该数据是模式代码: 模式代码为 00H 时切换到未启用的 USB 设备方式(上电或复位后的默认方式) ; 模式代码为 01H 时切换到已启用的 USB 设备方式,外部固件模式; 模式代码为 02H 时切换到已启用的 USB 设备方式,内置固件模式; 模式代码为 04H 时切换到未启用的 USB 主机方式; 模式代码为 05H 时切换到已启用的 USB 主机方式,不产生 SOF 包; 模式代码为 06H 时切换到已启用的 USB 主机方式,自动产生 SOF 包; 模式代码为 07H 时切换到已启用的 USB 主机方式,复位 USB 总线; 关于 USB 设备方式请参考 CH372 手册。 在 USB 主机方式下,未启用是指不自动检测 USB 设备是否连接,所以需要外部单片机检测;启用 是指自动检测 USB 设备是否连接,当 USB 设备连接或者断开时都会产生中断通知外部单片机。在切换 到模式代码 06H 后,CH375 会自动定时产生 USB 帧周期开始包 SOF 发送给已经连接的 USB 设备。模式 代码 07H 通常用于向已经连接的 USB 设备提供 USB 总线复位状态,当切换到其它工作模式后,USB 总 线复位才会结束。建议在没有 USB 设备时使用模式 5,插入 USB 设备后先进入模式 7 再换到模式 6。 通常情况下,设置 USB 工作模式在 20uS 时间之内完成,完成后输出操作状态。 5.10. 命令 TEST_CONNECT 该命令用于在 USB 主机方式下查询当前 USB 设备的连接状态。通常情况下,该命令在 2uS 时间之 内完成。完成后输出 USB_INT_CONNECT、USB_INT_DISCONNECT 或者 USB_INT_USB_READY 三种状态之一, 状态 USB_INT_CONNECT 说明 USB 设备刚连接或者已经连接但尚未初始化,状态 USB_INT_DISCONNECT 说明 USB 设备尚未连接或者已经断开,状态 USB_INT_USB_READY 说明 USB 设备已经连接并且已经被初 始化(已经分配 USB 地址) ,输出 0 说明该命令尚未完成,可以稍后再读取状态。 5.11. 命令 ABORT_NAK 该命令放弃当前 NAK 的重试。CH375 工作于 USB 主机方式时,默认情况下,CH375 在收到 USB 设 备返回的 NAK 状态时,将不断重试直到返回成功或者错误。该命令可以强制 CH375 终止重试,以便执 行新的操作。另外,使用 SET_RETRY 命令可以设置是否禁止 NAK 重试。 6 CH375 中文手册(一) 5.12. 命令 GET_STATUS 该命令获取 CH375 的中断状态并通知 CH375 取消中断请求。当 CH375 向单片机请求中断后,单片 机通过该命令获取中断状态,分析中断原因并处理。 中断状态字节 中断状态的分类 00H~0FH 10H~1FH 20H~3FH USB 设备方式的中断状态,请参考 CH372 手册 USB 主机方式的常用中断状态 USB 主机方式的操作失败状态,用于分析操作失败原因 下面是 USB 主机方式的常用中断状态。 状态字节 状态名称 中断状态分析说明 14H USB_INT_SUCCESS USB 事务或者传输操作成功 15H USB_INT_CONNECT 检测到 USB 设备连接事件 16H USB_INT_DISCONNECT 检测到 USB 设备断开事件 17H USB_INT_BUF_OVER USB 传输的数据有误或者数据太多缓冲区溢出 1DH USB_INT_DISK_READ USB 存储设备读操作,请求数据读出 1EH USB_INT_DISK_WRITE USB 存储设备写操作,请求数据写入 1FH USB_INT_DISK_ERR USB 存储设备操作失败 下面是 USB 主机方式的操作失败状态,通常用于分析操作失败原因。 中断状态字节 名称 中断状态分析说明 位 7~位 6 (保留位) 总是 00 位5 (标志位) 总是 1,指示该状态是操作失败状态 IN 事务的 对于 IN 事务,如果该位为 0 则 位4 同步标志 当前接收的数据包不同步,数据可能无效 1010=设备返回 NAK 导致操作 1110=设备返回 STALL 失败时的 位 3~位 0 USB 设备 XX00=设备返回超时,设备没有返回 的返回值 其它值是设备返回的 PID 5.13. 命令 RD_USB_DATA 该命令从当前 USB 中断的端点缓冲区中读取数据块。在 USB 主机方式下,USB 中断的端点缓冲区 就是 USB 主机端点的输入缓冲区。首先读取的输出数据是数据块长度,也就是后续数据流的字节数。 数据块长度的有效值是 0 至 64,如果长度不为 0,则单片机必须将后续数据从 CH375 逐个读取完。 5.14. 命令 WR_USB_DATA7 该命令向 USB 主机端点的输出缓冲区或者 USB 端点 2 的上传缓冲区写入数据块。首先写入的输入 数据是数据块长度,也就是后续数据流的字节数。数据块长度的有效值是 0 至 64,如果长度不为 0, 则单片机必须将后续数据逐个写入 CH375。 5.15. 命令 DISK_INIT 该命令初始化 USB 存储设备。对于已经连接的 USB 设备,该命令首先复位 USB 总线,然后分析该 USB 设备的描述符,如果是能够支持的 USB 存储设备,那么将自动配置该设备,最后建立与 USB 存储 设备的连接。CH375 在命令执行完成后向单片机请求中断,单片机可以读取中断状态作为该命令的操 作状态。如果 USB 设备已经断开,那么操作状态可能是 USB_INT_DISCONNECT;如果 USB 设备不能识 别或者该 USB 存储设备不被支持,那么操作状态通常是 USB_INT_DISK_ERR 或 USB_INT_BUF_OVER;如 果 USB 存储设备初始化成功,那么操作状态将是 USB_INT_SUCCESS。 CH375 中文手册(一) 7 5.16. 命令 DISK_SIZE 该命令用于获取 USB 存储设备的物理容量。在成功初始化 USB 存储设备后,该命令可以获取 USB 存储设备的总容量。CH375 在命令执行完成后向单片机请求中断,单片机可以读取中断状态作为该命 令的操作状态。如果操作状态是 USB_INT_SUCCESS,那么可以由 RD_USB_DATA 命令获取数据,数据通 常是 8 个字节,前 4 个字节以高字节在前组成的双字数据是 USB 存储设备的总扇区数,后 4 个字节以 高字节在前组成的双字数据是每个扇区的字节数,两个数据相乘的结果就是以字节为单位的 USB 存储 设备的总容量。如果扇区不是 512 字节,那么应该执行 SET_PKT_P_SEC 命令设置每扇区数据包总数。 5.17. 命令 DISK_READ 该命令从 USB 存储设备读取数据块。读取数据块以扇区为基本单位,需要两组参数:起始地址和 数据长度,起始地址是以 4 个字节表示的线性扇区号 LBA 地址,数据长度是以 1 个字节表示的扇区数。 该命令需要 5 个输入数据,依次是 LBA 地址的最低字节,LBA 地址的较低字节,LBA 地址的较高字节, LBA 地址的最高字节,扇区数。该命令可以在容量高达 2000GB 的 USB 存储设备中任意读取 1 至 255 个扇区的数据。该命令需要与下面的 DISK_RD_GO 命令配合使用。 5.18. 命令 DISK_RD_GO 该命令使 CH375 继续执行 USB 存储设备的读操作。在单片机发出 DISK_READ 命令后,每当 CH375 从 USB 存储设备中读完 64 个字节的数据就会请求中断,单片机获取中断状态 USB_INT_DISK_READ, 所以单片机应该发出 RD_USB_DATA 命令取走 64 个字节的数据,然后发出 DISK_RD_GO 命令使 CH375 继 续读;CH375 再次从 USB 存储设备中读 64 个字节的数据并再次请求中断,单片机再次取走数据并再 次让 CH375 继续读;直到所有数据完全读出,CH375 会最后一次请求中断,单片机获取中断状态作为 整个读操作的状态,如果操作成功则状态是 USB_INT_SUCCESS,否则可能是 USB_INT_DISK_ERR。 即使单片机发出 DISK_READ 命令只读 1 个扇区,正常情况下,单片机也将收到(每扇区数据包总 数+1)个中断(在扇区为 512 字节时共 9 个中断) ,前面的中断是要求单片机取走数据,最后一个中 断是返回最终的操作状态。如果读 4 个扇区,那么正常情况下,单片机将会收到(4*每扇区数据包总 数+1)个中断,前面的中断是要求单片机取走数据。如果读操作中途失败,单片机将有可能提前收到 USB_INT_DISK_ERR 状态,从而提前结束读操作。 5.19. 命令 DISK_WRITE 该命令向 USB 存储设备写入数据块。写入数据块以扇区为基本单位,需要两组参数:起始地址和 数据长度,起始地址是以 4 个字节表示的线性扇区号 LBA 地址,数据长度是以 1 个字节表示的扇区数。 该命令需要 5 个输入数据,依次是 LBA 地址的最低字节,LBA 地址的较低字节,LBA 地址的较高字节, LBA 地址的最高字节,扇区数。该命令可以在容量高达 2000GB 的 USB 存储设备中任意写入 1 至 255 个扇区的数据。该命令需要与下面的 DISK_WR_GO 命令配合使用。 5.20. 命令 DISK_WR_GO 该命令使 CH375 继续执行 USB 存储设备的写操作。在单片机发出 DISK_WRITE 命令后,CH375 很 快就会请求中断,单片机获取中断状态 USB_INT_DISK_WRITE,所以单片机应该发出 WR_USB_DATA7 命 令提供 64 个字节的数据,然后发出 DISK_WR_GO 命令使 CH375 继续写;每当 CH375 向 USB 存储设备写 完 64 个字节的数据后就会请求中断,单片机再次提供数据并再次让 CH375 继续写;直到所有数据完 全写入,CH375 会最后一次请求中断,单片机获取中断状态作为整个写操作的状态,如果操作成功则 状态是 USB_INT_SUCCESS,否则可能是 USB_INT_DISK_ERR。 即使单片机发出 DISK_WRITE 命令只写 1 个扇区,正常情况下,单片机也将收到(每扇区数据包 总数+1)个中断(在扇区为 512 字节时共 9 个中断) ,前面的中断是要求单片机提供数据,最后一个 CH375 中文手册(一) 8 中断是返回最终的操作状态。如果写 4 个扇区,那么正常情况下,单片机将会收到(4*每扇区数据包 总数+1)个中断,前面的中断是要求单片机提供数据。如果写操作中途失败,单片机将有可能提前收 到 USB_INT_DISK_ERR 状态,从而提前结束写操作。 5.21. 命令 DISK_INQUIRY 该命令查询 USB 存储设备的特性。CH375 在命令执行完成后向单片机请求中断,单片机可以读取 中断状态作为该命令的操作状态。如果操作状态是 USB_INT_SUCCESS,那么可以由 RD_USB_DATA 命令 获取数据,数据通常是 36 个字节,包括 USB 存储设备的特性以及厂商和产品的识别信息等。该命令 一般不需要用到,除非是分析新的逻辑单元。 5.22. 命令 DISK_READY 该命令检查 USB 存储设备是否就绪。CH375 在命令执行完成后向单片机请求中断,单片机可以读 取中断状态作为该命令的操作状态。如果操作状态是 USB_INT_SUCCESS,那么说明 USB 存储设备当前 已经就绪。 5.23. 命令 DISK_R_SENSE 该命令检查 USB 存储设备的错误。CH375 在命令执行完成后向单片机请求中断,单片机可以读取 中断状态作为该命令的操作状态。正常情况下操作状态是 USB_INT_SUCCESS,可以由 RD_USB_DATA 命 令获取数据后分析错误。 6、功能说明 6.1. 一般说明 CH375 芯片可以工作于 USB-HOST 主机方式或者 USB 设备方式。 CH375 的 USB 设备方式与 CH372 芯片完全兼容,相关资料可以参考 CH372 手册。 CH375 的 USB 主机方式支持并行接口和串行接口。在 USB 主机方式下,CH375 支持各种常用的 USB 全速设备,外部单片机需要编写固件程序按照相应的 USB 协议与 USB 设备通讯。但是对于 USB 存储设 备,CH375 内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。 6.2. 本地端的硬件 CH375 芯片在本地端提供了通用的被动并行接口和点对点的串行接口。 在 CH375 芯片的复位期间,TXD 引脚用于选择通讯接口。如果 CH375 在复位期间检测到 TXD 引脚 为低电平则启用并行接口,否则启用串行接口。如果启用串行接口,那么复位完成后 TXD 引脚将用于 串行数据输出,并且 CH375 芯片只能工作于 USB 主机方式。 6.2.1. 并行接口 并口信号线包括:8 位双向数据总线 D7~D0、读选通输入引脚 RD#、写选通输入引脚 WR#、片选 输入引脚 CS#、中断输出引脚 INT#以及地址输入引脚 A0。通过被动并行接口,CH375 芯片可以很方便 地挂接到各种 8 位单片机、DSP、MCU 的系统总线上,并且可以与多个外围器件共存。 CH375 芯片的 CS#由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。INT# 输出的中断请求是低电平有效,可以连接到单片机的中断输入引脚或者普通 I/O 引脚,单片机可以使 用中断方式或者查询方式获知中断请求。 对于类似 Intel 并口时序的单片机,CH375 芯片的 RD#引脚和 WR#引脚可以分别连接到单片机的 读选通输出引脚和写选通输出引脚。对于类似 Motorola 并口时序的单片机,CH375 芯片的 RD#引脚应 该接低电平,并且 WR#引脚连接到单片机的读写方向输出引脚 R/-W。 9 CH375 中文手册(一) CH375 芯片占用两个地址位,当 A0 引脚为高电平时选择命令端口,可以写入新的命令,或者读 出中断标志;当 A0 引脚为低电平时选择数据端口,可以读写数据。 下表为并口 I/O 操作的真值表(表中 X 代表不关心此位,Z 代表 CH375 三态禁止) 。 CS# 1 0 0 0 0 0 WR# X 1 0 0 1 1 RD# X 1 1/X 1/X 0 0 A0 X X 1 0 0 1 D7-D0 X/Z X/Z 输入 输入 输出 输出 对 CH375 芯片的实际操作 未选中 CH375,不进行任何操作 虽然选中但无操作,不进行任何操作 向 CH375 的命令端口写入命令码 向 CH375 的数据端口写入数据 从 CH375 的数据端口读出数据 从 CH375B/C 的命令端口读取中断标志,位 7 等效于 INT#引脚 6.2.2. 串行接口 串行接口只能用于 USB 主机方式,CH375 芯片的 USB 设备方式不支持串口。 串口信号线包括:串行数据输入引脚 RXD、串行数据输出引脚 TXD、中断输出引脚 INT#。通过串 行接口,CH375 可以用最少的连线与单片机、DSP、MCU 进行较远距离的点对点连接。 CH375 芯片的 RXD 和 TXD 可以分别连接到单片机的串行数据输出引脚和串行数据输入引脚。INT# 输出的中断请求是低电平有效,用于通知单片机。 CH375 的串行数据格式是 1 个起始位、9 个数据位、1 个停止位,其中前 8 个数据位是一个字节 数据,最后 1 个数据位是命令标志位。第 9 位为 0 时,前 8 位的数据被写入 CH375 芯片中,第 9 位为 1 时,前 8 位被作为命令码写入 CH375 芯片中。CH375 的串行通讯波特率默认是 9600bps,单片机可 以随时通过 SET_BAUDRATE 命令选择合适的通讯波特率。 6.2.3. 其它 CH375 芯片的 ACT#引脚用于状态指示。在内置固件的 USB 设备方式下,当 USB 设备尚未配置或者 取消配置后,该引脚输出高电平;当 USB 设备配置完成后,该引脚输出低电平。在 USB 主机方式下, 当 USB 设备断开后,该引脚输出高电平;当 USB 设备连接后,该引脚输出低电平。CH375 的 ACT#引脚 可以外接串了限流电阻的发光二级管 LED,用于指示相关的状态。 CH375 芯片的 UD+和 UD-引脚是 USB 信号线,工作于 USB 设备方式时,应该直接连接到 USB 总线 上;工作于 USB 主机方式时,可以直接连接到 USB 设备。如果为了芯片安全而串接保险电阻或者电感 或者 ESD 保护器件,那么交直流等效串联电阻应该在 5Ω之内。 CH375 芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI 引脚用于从外部 输入异步复位信号;当 RSTI 引脚为高电平时,CH375 芯片被复位;当 RSTI 引脚恢复为低电平后,CH375 会继续延时复位 20mS~35mS 左右,然后进入正常工作状态。为了在电源上电期间可靠复位并且减少 外部干扰,可以在 RSTI 引脚与 VCC 之间跨接一个容量为 0.1uF 左右的电容。RST 引脚和 RST#引脚是 复位状态输出引脚,分别是高电平有效和低电平有效;当 CH375 电源上电复位或者被外部强制复位以 及复位延时期间,RST 引脚和 RST#引脚分别输出高电平和低电平;CH375 复位完成后,RST 引脚和 RST# 引脚分别恢复到低电平和高电平。RST 和 RST#引脚可以用于向外部单片机提供上电复位信号。 CH375B 芯片正常工作时需要外部为其提供 12MHz 的时钟信号。一般情况下,时钟信号由 CH375 内置的反相器通过晶体稳频振荡产生。 外围电路只需要在 XI 和 XO 引脚之间连接一个标称频率为 12MHz 的晶体,并且分别为 XI 和 XO 引脚对地连接一个高频振荡电容。如果从外部直接输入 12MHz 时钟信号, 那么应该从 XI 引脚输入,而 XO 引脚悬空。 CH375C 芯片支持外部时钟和内置时钟两种模式,外部时钟模式参考上述 CH375B 外接 12MHz 晶体 及电容;内置时钟模式应该将 XI 引脚接 GND,并悬空 XO 引脚,从而节约外部的晶体及振荡电容。 CH375B 和 C 芯片支持 3.3V 或者 5V 电源电压。当使用 5V 工作电压时,CH375 芯片的 VCC 引脚输 入外部 5V 电源,并且 V3 引脚应该外接容量为 0.01uF 到 0.1uF 的电源退耦电容。当使用 3.3V 工作电 压时,CH375 芯片的 V3 引脚应该与 VCC 引脚相连接,同时输入外部的 3.3V 电源,并且与 CH375 芯片 相连接的其它电路的工作电压不能超过 3.3V。 6.3. 内部结构 CH375 中文手册(一) 10 CH375 芯片内部集成了 PLL 倍频器、主从 USB 接口 SIE、数据缓冲区、被动并行接口、异步串行 接口、命令解释器、控制传输的协议处理器、通用的固件程序等。 PLL 倍频器用于将外部输入的 12MHz 时钟倍频到 48MHz,作为 USB 接口 SIE 时钟。 主从 USB 接口 SIE 是 USB 主机方式和 USB 设备方式的一体式 SIE,用于完成物理的 USB 数据接收 和发送,自动处理位跟踪和同步、NRZI 编码和解码、位填充、并行数据与串行数据之间的转换、CRC 数据校验、事务握手、出错重试、USB 总线状态检测等。 数据缓冲区用于缓冲 USB 接口 SIE 收发的数据。 被动并行接口用于与外部单片机/DSP/MCU 交换数据。 异步串行接口用于代替被动并行接口与外部单片机/DSP/MCU 交换数据。 命令解释器用于分析并执行外部单片机/DSP/MCU 提交的各种命令。 控制传输的协议处理器用于自动处理常用的控制传输的多个阶段,简化外部固件编程。 通用的固件程序包含两组:一组用于 USB 设备方式,自动处理 USB 默认端点 0 的各种标准事务等; 另一组用于 USB 主机方式,自动处理 Mass-Storage 海量存储设备的专用通讯协议。 CH375 芯片内部具有 7 个物理端点: 端点 0 是默认端点,支持上传和下传,上传和下传缓冲区各是 8 个字节; 端点 1 包括上传端点和下传端点,上传和下传缓冲区各是 8 个字节, 上传端点的端点号是 81H, 下传端点的端点号是 01H; 端点 2 包括上传端点和下传端点,上传和下传缓冲区各是 64 个字节,上传端点的端点号是 82H,下传端点的端点号是 02H; 主机端点包括输出端点和输入端点,输出和输入缓冲区各是 64 个字节,主机端点与端点 2 合用同一组缓冲区,主机端点的输出缓冲区就是端点 2 的上传缓冲区,主机端点的输入 缓冲区就是端点 2 的下传缓冲区。 CH375 的端点 0、1、2 只用于 USB 设备方式,在 USB 主机方式下只需要用到主机端点。 在 USB 主机方式下,CH375 支持各种常用的 USB 全速设备。USB 设备的端点号可以是 0~15,两 个方向最多支持 31 个端点,USB 设备的包长度可以是 0~64 字节。 内置固件可以处理 Mass-Storage 海量存储设备的通讯协议,要求 USB 存储设备支持 Bulk-Only 传输协议,支持 SCSI、UFI、RBC 或者等效的命令集,并且数据端点的最大包长度是 64 字节,但是默 认端点 0 的最大包长度可以是 8、16、32 或者 64 字节。如果 USB 存储设备不符合上述要求,则需要 外部单片机通过控制传输以及 ISSUE_TOKEN 命令或者 ISSUE_TKN_X 命令自行处理相关通讯协议。 下图为 CH375 芯片内部的中断逻辑图。 11 CH375 中文手册(一) 6.4. 本地端的单片机软件 单片机通过 8 位并口对 CH375 芯片进行读写,所有操作都是由一个命令码、若干个输入数据和若 干个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如下: ①、 在 A0=1 时向命令端口写入命令代码; ②、 如果该命令具有输入数据,则在 A0=0 时依次写入输入数据,每次一个字节; ③、 如果该命令具有输出数据,则在 A0=0 时依次读取输出数据,每次一个字节; ④、 命令完成,可以暂停或者转到①继续执行下一个命令。 CH375 芯片专门用于处理 USB 通讯,在检测到 USB 总线的状态变化时或者命令执行完成后,CH375 以中断方式通知单片机进行处理。 7、参数 7.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏) 名称 TA TS VCC VIO 参数说明 CH375B 或 C 芯片,VCC=5V,外部时钟 CH375B 或 C 芯片,VCC=3.3V,外部时钟 CH375C 芯片,VCC=5V 或 3.3V,内置时钟 储存时的环境温度 电源电压(VCC 接电源,GND 接地) 输入或者输出引脚上的电压 工作时的 环境温度 最小值 最大值 -40 -40 -20 -55 -0.5 -0.5 85 85 70 100 6.0 VCC+0.5 单位 ℃ ℃ V V 7.2. 电气参数(测试条件:TA=25℃,VCC=5V,不包括连接 USB 总线的引脚) (如果电源电压为 3.3V,则表中所有电流参数需要乘以 40%的系数) 名称 参数说明 最小值 典型值 最大值 CH375B/C 芯片, V3 不连 VCC 4.2 5 5.4 VCC 电源电压 CH375B/C 芯片, V3 连接 VCC 3.1 3.3 3.6 CH375B 芯片,VCC=5V 11 30 工作时的 ICC CH375C 芯片,VCC=5V 7 25 总电源电流 CH375B/C 芯片,VCC=3.3V 5 15 VCC=5V 0.15 0.25 低功耗状态的电源电流 ISLP I/O 引脚悬空/内部上拉 VCC=3.3V 0.05 0.15 VIL 低电平输入电压 -0.5 0.7 VIH 高电平输入电压 2.0 VCC+0.5 VOL 低电平输出电压(4mA 吸入电流) 0.5 VOH 高电平输出电压(4mA 输出电流) VCC-0.5 IUP 内置上拉电阻的输入端的输入电流 40 80 160 IDN 内置下拉电阻的输入端的输入电流 -80 -140 -240 VR 电源上电复位的电压门限 2.1 2.6 3.0 注:ACT#引脚的低电平吸入电流为 4mA,高电平输出电流为 200uA。 在 CH375 芯片复位期间 INT#引脚和 TXD 引脚只能提供 80uA 的高电平输出电流。 7.3. 时序参数(测试条件:TA=25℃,VCC=5V,参考附图) (RD 是指 RD#信号有效并且 CS#信号有效,RD#=CS#=0 执行读操作) 单位 V mA mA V V V V uA uA V CH375 中文手册(一) 12 (WR 是指 WR#信号有效并且 CS#信号有效,WR#=CS#=0 执行写操作) 参数说明 最小值 典型值 名称 FCLK USB 主机方式 XI 引脚的输入时钟的频率 11.995 12.00 FCLKI CH375C 内置时钟模式下的内部频率 11.82 12.00 TPR 内部电源上电的复位时间 10 30 TRI 外部复位输入的有效信号宽度 100 TRD 外部复位输入后的复位延时 12 30 TE1 RESET_ALL 命令的执行时间 0.1 30 TE2 SET_USB_MODE 命令的执行时间 10 TE3 SET_ENDP?命令的执行时间 2 TE4 SET_BAUDRATE 命令的执行时间 100 TE0 其余命令的执行时间 1.5 TSX CH375B/C 命令码与命令码之间的间隔时间 1.5 TSC CH375B/C 命令码与数据之间的间隔时间 1.5 TSD CH375B/C 数据与数据之间的间隔时间 0.6 TWW 有效的写选通脉冲 WR 的宽度 60 TRW 有效的读选通脉冲 RD 的宽度 60 TAS RD 或 WR 前的地址输入建立时间 5 TAH RD 或 WR 后的地址输入保持时间 5 TIS 写选通 WR 前的数据输入建立时间 0 TIH 写选通 WR 后的数据输入保持时间 5 TON 读选通 RD 有效到数据输出有效 0 TOF 读选通 RD 无效到数据输出无效 0 TINT 收到 GET_STATUS 命令到 INT#引脚撤消中断 1.5 TWAK 从低功耗状态退出的唤醒时间 2 6 最大值 12.005 12.18 40 40 40 20 4 1000 2 10000 10000 30 20 3 10 单位 MHz MHz mS nS mS mS uS uS uS uS uS uS uS nS nS nS nS nS nS nS nS uS mS CH375 中文手册(一) 13 8、应用 8.1. 并口方式(下图) 这是 CH375 与普通的 MCS-51 单片机的连接电路。CH375 的 TXD 引脚通过 1KΩ左右的下拉电阻接 地或者直接接地,从而使 CH375 工作于并口方式。 USB 总线包括一对 5V 电源线和一对数据信号线,通常,+5V 电源线是红色,接地线是黑色,D+ 信号线是绿色,D-信号线是白色。USB 插座 P1 可以直接连接 USB 设备,必要时可以在提供给 USB 设 备的+5V 电源线上串接具有限流作用的快速电子开关,USB 电源电压必须是 5V。 电容 C3 用于 CH375 内部电源节点退耦,C3 是容量为 0.01μF 到 0.1μF 的独石或者高频瓷片电 容。电容 C4 和 C5 用于外部电源退耦,C4 是容量为 0.1μF 的独石或者高频瓷片电容。晶体 X1、电容 C1 和 C2 用于 CH375 的时钟振荡电路。USB-HOST 主机方式要求时钟频率比较准确,晶体 X1 的频率是 12MHz±0.4‰,C1 和 C2 是容量为 15pF~30pF 的独石或高频瓷片电容。 成品板如果用内置时钟的 CH375C 替换 CH375B,那么可以去掉 X1 和 C1,并将 C2 换成 0Ω 电阻。 为使 CH375 可靠复位,电源电压从 0V 上升到 5V 的上升时间应该少于 100mS。如果电源上电过程 较慢并且电源断电后不能及时放电,那么 CH375 将不能可靠复位。可以在 RSTI 引脚与 VCC 之间跨接 一个容量为 0.1μF 或者 0.47μF 的电容 C11 延长复位时间。 如果 CH375 的电源电压为 3.3V,那么应该将 V3 引脚与 VCC 引脚短接,共同输入 3.3V 电压,并 且电容 C3 可以省掉。 在设计印刷线路板 PCB 时,需要注意:退耦电容 C3 和 C4 尽量靠近 CH375 的相连引脚;使 D+和 D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短 XI 和 XO 引脚相关信号线的长度,为了减少干扰,可以在相关元器件周边环绕地线或者覆铜。 CH375 中文手册(一) 14 CH375 芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP、MCU 等。在普通的 MCS-51 系列单片机的典型应用电路中,CH375 芯片可以通过 8 位被动并行接口的 D7~D0、-RD、-WR、-CS、 A0 直接挂接到单片机 U2 的系统总线上。 如果 MCS-51 单片机没有用 U3 锁存 A7~A0 地址,那么可以用 U2 的 P20 等引脚驱动 CH375 的地址 线 A0,并且单片机程序中的端口地址需要相应修改。U4 用于简单的地址译码,产生所需的片选信号, 图中 CH375 芯片的片选地址范围为 B000H-BFFFH,而实际上 CH375 只需要占用两个地址:地址 BXX1H 用于写命令,地址 BXX0H 用于读写数据。 8.2. 串口方式(下图) 如果 CH375 芯片的 TXD 引脚悬空或者没有通过下拉电阻接地,那么 CH375 工作于串口方式。在 串口方式下,CH375 只需要与单片机/DSP/MCU 连接 3 个信号线,TXD 引脚、RXD 引脚以及 INT#引脚, 其它引脚都可以悬空。除了连接线较少之外,其它外围电路与并口方式基本相同。 另外,如果需要动态修改 CH375 串口的通讯波特率,那么建议由单片机的 I/O 引脚控制 CH375 的 RSTI 引脚,便于在必要时复位 CH375 以恢复到默认的通讯波特率。由于 RSTI 引脚内置有下拉电阻, 所以由 MCS51 等单片机的准双向 I/O 引脚驱动时可能需要另加一个阻值约几 KΩ的上拉电阻。 由于 INT#引脚和 TXD 引脚在 CH375 复位期间只能提供微弱的高电平输出电流,在进行较远距离 的连接时,为了避免 INT#或者 TXD 在 CH375 复位期间受到干扰而导致单片机误操作,可以在 INT#引 脚或者 TXD 引脚上加阻值为 2KΩ~5KΩ的上拉电阻,以维持较稳定的高电平。在 CH375 芯片复位完 成后,INT#引脚和 TXD 引脚将能够提供 4mA 的高电平输出电流或者 4mA 的低电平吸入电流。 8.3. 单片机读写 U 盘文件(USB 存储设备的文件级接口) 文件级 API 应用层接口 FAT32/16/12 文件系统层 SCSI/UFI/RBC 命令层 以扇区读写闪存或者硬盘 Bulk-Only 传输协议层 USB 基本传输:控制/批量 Bulk-Only 传输协议层 USB 基本传输:控制/批量 USB USB-HOST 硬件接口芯片 USB-DEVICE 硬件接口芯片 一般情况下,单片机或嵌入式系统处理 USB 存储设备的文件系统需要实现上图左边的 4 个层次, 右边是 USB 存储设备的内部结构层次。由于 CH375 不仅是一个通用的 USB-HOST 硬件接口芯片,还内 CH375 中文手册(一) 15 置了相关的固件程序,包含了上图左边的 3 个层次(标为灰色部分) ,所以实际的单片机程序只需要 处理 FAT 文件系统层,并且即使这一层也可以由 CH375 的 U 盘文件级子程序库实现。 如果不需要处理文件系统,也就是不处理上图左边的最顶层,那么 CH375 直接提供了数据块的读 写接口,以 512 字节或者 2K 字节等的物理扇区为基本读写单位,从而将 USB 存储设备简化为一种外 部数据存储器,单片机可以自由读写 USB 存储设备中的数据,也可以自由定义其数据结构。 由于计算机将 USB 存储设备组织为文件系统,为了方便单片机通过 USB 移动存储设备与计算机之 间交换数据,单片机也可以将 USB 存储设备组织为文件系统,也就是处理上图左边的最顶层。 CH375 以 C 语言子程序库提供了 USB 存储设备的文件级接口,这些应用层接口 API 包含了常用的 文件级操作,可以移植并嵌入到各种常用的单片机程序中。 CH375 的 U 盘文件级子程序库具有以下特性:支持常用的 FAT12、FAT16 和 FAT32 文件系统,磁 盘容量可达 100GB 以上,支持多级子目录,支持 8.3 格式的大写字母和中文文件名,可以支持小写字 母或者长文件名,支持文件打开、新建、删除、读写以及搜索等。 CH375 的文件级子程序库需要至少 600 字节的随机存储器 RAM 作为缓冲区。以普通的 MCS-51 单 片机为例,文件系统的全部子程序有 4KB 到 8KB 代码,并且需要大约 80 字节的内部 RAM 和至少 512 字节的外部 RAM 作为缓冲区。有关 U 盘文件级子程序库的详细信息请参考 CH375 评估板的说明。 文件级子程序库的所有 API 在调用后都有操作状态返回,但不一定有应答数据。有关 API 参数的 说明请参考 CH375HF?.H,主要子程序如下: 初始化 CH375 芯片:CH375Init 查询 U 盘是否准备好:CH375DiskReady 查询 U 盘容量:CH375DiskSize 查询 U 盘信息(总容量及剩余容量) :CH375DiskQuery 打开文件:CH375FileOpen 枚举或者搜索文件:CH375FileEnumer 关闭文件:CH375FileClose 新建文件:CH375FileCreate 删除文件:CH375FileErase 以扇区为单位从文件读数据:CH375FileReadX 以扇区为单位向文件写数据:CH375FileWriteX 以扇区为单位移动文件指针:CH375FileLocate 查询文件属性(属性/日期/时间/长度) :CH375FileQuery 设置文件属性(属性/日期/时间/长度) :CH375FileModify 以字节为单位从文件读数据:CH375ByteRead 以字节为单位向文件写数据:CH375ByteWrite 以字节为单位移动文件指针:CH375ByteLocate
CH375B 价格&库存

很抱歉,暂时无法提供与“CH375B”相匹配的价格&库存,您可以联系我们找货

免费人工找货
CH375B
    •  国内价格
    • 1+24.80190

    库存:5