编辑: sunny爹 | 2013-10-09 |
1 则启用 ECP 方式. MODE8255:该位为
1 则启用
8255 方式,该位仅在 EN8255 为1时才能修改,否则保持原值. EN8255:该位为
1 才能修改 MODE8255,否则 MODE8255 保持原值,读取该位时总是返回 0. CH352 中文手册
(二)
6
5、功能说明 5.1. 查询与中断 CH352 芯片的串口
0 和并口合用一个 PCI 中断请求引脚,所以在进入 PCI 中断服务程序后,首先 应该分析出是否为 CH352 请求中断,以及是串口还是并口的中断请求.当进入中断服务程序后,首先 读取并口的 PSR 和PXR 寄存器,如果是 ECP 方式则检查 PXR 寄存器的 ECPINTF 标志,否则检查 PSR 寄 存器的!INTFLAG 标志,如果有效则说明有中断,处理后退出,无效则说明无中断,可以读取串口
0 的IIR 寄存器,有中断则处理并退出,无中断则直接退出. 如果串口工作于中断方式,那么需要设置 IER 寄存器以允许相应的中断请求,并设置 MCR 寄存器 中的 OUT2 以允许中断输出. 如果并口工作于中断方式, 那么需要设置 PCR 寄存器的 INTEN 以允许中断输出. 其中, SPP 或EPP 方式是以 ACK 引脚的上升沿启动中断请求,ECP 方式是以 ERR 引脚的下降沿启动中断请求,8255 方式 是以 INTR#引脚的上升沿启动中断请求. 如果串口工作于查询方式,那么无需设置 IER 和MCR,只需查询 LSR 寄存器并分析处理. 如果并口工作于查询方式,那么无需设置 PCR 的INTEN,只需查询 PSR、PCR 和PXR 寄存器并分 析处理. 5.2. 串口操作 具体操作可以参考 CH352DS1.PDF,或者单串口芯片 16C550 或者双串口芯片 CH432 的说明. 5.3. 并口操作 CH352 并口的
4 种工作方式之间互斥,默认为 SPP 方式.在SPP 方式下可以实现 Nibble、Byte 和PS/2 等附加方式,还可以通过设置 PXR 寄存器在 SPP、EPP 或ECP 方式之间进行来回切换,但是
8255 方式是特殊的自锁方式,一旦设置 PXR 寄存器进入
8255 方式则不能再切换到 SPP、EPP 或者 ECP 方式,除非 PCI 配置空间的命令寄存器的位
0 被清 0(禁止 I/O 空间)或者 PCI 总线复位,否则只能 在开启
8255 和关闭
8255 之间进行选择.下面是并口工作方式切换图. 在SPP 方式下,可以用软件控制 PCR 和查询 PSR 实现 Nibble、Byte 和PS/2 等传输,具体操作步 骤可以参考 IEEE1284 规范. 在8255 方式下,CH352 的并口类似于工业标准
8255 芯片的模式 2,支持硬件握手信号和片选输 入,支持双向数据传输,可以直接挂接到外围单片机的数据总线上.对于下传,可以向 PDR 写入数据, 然后查询 PSR 直到!8255OBF 为1;
对于上传,可以查询 PSR 直到 8255IBF 为1,然后再从 PIR 读取数 据(建议与 PSR 一起读取以提高效率) .对于中断方式应用,下传前计算机可以先设置 GPO0 或者 GPO1 引脚以通知单片机中断,上传前单片机可以先设置 INTR#引脚以通知计算机中断.下表是先查询再存 SPP Byte/PS2 EPP Nibble ECP RESET
8255 8255_ON 8255_OFF 禁止 I/O 空间 CH352 中文手册
(二)
7 取的查询方式应用的操作步骤,表中片选有效是指 MCS1 为高电平并且 MCS#为低电平,既可以由单片 机的片选译码电路驱动,也可以由单片机的两根地址线驱动,ACK#引脚由单片机的读控制信号 RD 驱动,STB#引脚由单片机的写控制信号 WR 驱动. 方向 计算机端、CH352 端 外围设备端、单片机端 说明 等待 PCR 的!8255OBF 为1等待前次完成 向PDR 写入下传数据 查询 OBF#引脚状态 OBF#输出低 检测到 OBF#有效(低电平) 片选有效且 ACK#低电平时取出数据 OBF#输出高 下传 (PCR 的!8255OBF 自动置 1) 本次下传结束 等待 IBF 引脚无效(低电平) 等待前次完成 查询 PCR 的8255IBF 标志 片选有效且 STB#低电平时写入数据 IBF 输出高 检测到 PCR 的8255IBF 为1从PIR 读取上传数据 IBF 输出低 上传 (IBF 自动无效) 本次上传结束 5.4. 应用说明 有关串口的应用说明请参考手册