基于通用接口芯片CH365的财税安全卡设计
SYS_EX与EPPROM芯片U3(型号是AT24C02)连接,CH365的SCL信号线可以选用SYS_EX或者A15,系统复位后的默认选择是A15,通常在A15用作地址线时选用SYS_EX,否则选用A15。因为SDA信号线同时是数据线D7,为了防止在SCL高电平期间由于SDA变化而产生不必要的误操作,通常借助于工作模式设定使SCL信号线(SYS_EX或A15)在系统复位后保持低电平。CH365的两线串行接口使用7位设备地址,可以同时连接多个设备。设备地址和命令寄存器的位7至位1为7位设备地址位,用以选择从设备;位0为命令位,置0代表写操作,置1代表读操作。本设计中连接一个设备,通过数据线D7保存相关的硬盘引导分区的信息,同时通过“LOCK”信号可以对设备进行写保护,防止信息篡改等。CH365的读写时序如图2。
财税安全卡的扩展程序设计
PC机中的扩展ROM相当于一个电子盘,如果在其中写入引导程序和应用程序,即使计算机没有硬盘和操作系统,扩展ROM中的引导程序和应用程序也能够控制计算机实现某些特定的功能。例如,无硬盘PC机用于工业控制,控制外部设备及作业流程等。
财税安全卡就是应用到PCI总线的扩展ROM,通过特定的扩展引导应用程序,在计算机启动进入硬盘时有效地接管和控制硬盘引导,以达到动态分隔硬盘空间将一个硬盘分成相互隔离,互不干扰的多个硬盘空间,可以根据用户需求引导进入相应的系统和使用相应的空间。
扩展引导应用程序主要包括PC引导控制权接管模块、动态隔离硬盘空间模块,多系统引导模块(其中包含I2C读写模块)。通过丰富扩展引导引用程序,可以实现基于BIOS级的系统分区备份、系统数据备份、系统拷贝等功能。
1. PC引导控制权接管的实现
在PC的BIOS自检中,硬件设备检测正常通过后,就开始把系统引导控制权即根据用户指定的启动顺序递交给软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x最基本的系统文件。
扩展ROM程序首次获得CPU控制权,修改系统自举中断INT19以便在引导操作系统前被初始化,重新编写新INT19中断服务程序,使用INT7B中断向量作为返回地址。
BOOT_ROM_INIT: PUSH DX;保存寄存器
PUSH BX
MOV DH, 80H;位7置1则自动检测主板的BIOS
MOV DL, 0FFH;指定初始化方式,为0FFH则自动检测
MOV BX, OFFSET ROM_INT19;指定新INT19程序的偏移地址_ROM_INT19,
CALL INIT_ROM;ROM初始化程序,返回DL为实际使用的初始化方式
POP BX
POP DX
RETF;ROM初始化完成后返回,必须是远程返回
2. 动态隔离硬盘空间的实现
可以利用硬盘特性“AddressOffsetMode”和“SetMax”来有效地缩小硬盘空间,使得动态隔离硬盘空间,其中通过获取硬盘I/O端口的基址来设置硬盘最大逻辑块寻址(LBA)地址。传统的缩小硬盘空间采用的是隐藏分区,通过修改系统分区表的系统标志位达到隐藏分区效果,此方法安全性低,不能有效地隔离硬盘,在财税安全方面达不到安全性能要求。
3. 多系统引导模块的实现
多系统引导根据用户选择启动相应的系统,去选择相应的引导程序,这里有别于计算机多重引导启动(逻辑隔离)原有的系统引导程序,它是简单的单分区单系统启动模式,即固定读入硬盘活动分区引导记录以实现对系统的引导,而活动分区是相对固定的。重写的系统引导程序实现了多分区多系统启动模式,可以将硬盘任一分区视作活动分区,读入该分区引导记录以引导系统,本设计中采用的是通过加载多重引导信息扇区,检验数据的有效性,在加载过程中动态设置硬盘分区信息。
- 一种基FPGA和DSP的高性能PCI数据采集处理卡设计(08-26)
- 用双端口RAM实现与PCI总线接口的数据通讯(05-06)
- 基于PCI总线和DSP芯片的图像处理平台的硬件设计(07-06)
- 基于DSP和PCI总线的通用数字信号处理系统(11-13)
- 一种基于PCI总线和DSP技术的虚拟仪器设计(03-16)
- 基于DSP的PCI驱动程序开发 (04-08)
