关于打印机和软件的兼容问题

关于打印机和软件的兼容问题,第1张

打印机的兼容之道
2003/12/01 映美信息科技有限公司
打印机产品部 总监
刘铁林
打印机技术发展到了今天,兼容性是其中非常重要的一个方面。这是用户和厂商均需要急切解决的问题。用户需要非常方便地融合多种打印设备来输出信息,厂商需要提供更多打印资源参与信息处理与服务。人们希望在使用打印机时就像使用家电那样简单,而这时,只有打印机与各种平台相互充分兼容时,才会实现。
何为打印机的兼容性,笔者认为:实际上就是打印机使用的直接性和通用性:
直接性即意:打印机与各种主机的即插、即通、即用。
通用性即意:打印机与主机的各层面平台的充分兼容。
兼容来自于应用需求、兼容要依赖于标准,这已是不争的事实。但为什么经常发生:在理论上应该是兼容的(因为在设计中已遵循了标准),但在实际应用中经常产生不兼容的现象?
在实际应用中,打印机的兼容性问题主要表现在接口、仿真、系统三个方面。就此,笔者简论在这几个方面兼容性的问题、原因及其解决方法。
一、 接口的兼容性
1、 接口的类型简介:
1) 现在主机、打印机的并行接口和串行接口是均按如下国际标准进行设计和应用的:
2) 并行接口
现在所有打印机均标配一个36芯(或25芯:对于微打机)B型并行接口,协议都已统一到IEEE 1284 标准,该标准描述了如下工作模式:
(1)兼容模式
A:正常模式(Normal)
B:标准SPP模式(Centronics)
C:SPP FIFO模式(快速Centronics)
Normal模式的兼容性是最好的,但是速度也比较慢。
(2)半字节模式(Nibble)
主机到打印机的数据传输为一个字节,而打印机到主机为半字节形式。
(3)字节模式
该模式定义主机和打印机之间为双向字节传输方式
(4)EPP模式
EPP(Enhanced Parallel Port):增强并行口。
EPP是由Intel、Xircom、Zenith和其它一些公司开发的,目的是进行双向高速通信。
(5)ECP模式
ECP( Entended Capabilities Port):扩展并行口
ECP协议是由Hewlett Packard、Microsoft公司提出,除了具有EPP相同特性外,ECP模式还支持DMA传输和数据压缩,并可实现双向高速通信
3) 串行接口
现串行接口均使用RS-232C标准,该标准(协议)的全称是EIA-RS-232C标准,在打印机方是配置一个25芯B型并行接口,执行以下三种工作模式
(1)Read/Busy 方式; 即硬件传送协议
(2)X-ON/X-OFF方式;即软件传送协议
(3)ETX/ACK 方式; 即数据(字符)块传送协议
2、 兼容性问题及其处理
1):常见问题
(1)主机发生超时错误
(2)打印乱码
(3)部分数据丢失或打印错误
2):原因分析及解决方法
(1)数据通信线连接不对;要按并口和串口接线标准进行检查
(2)串口协议设置不正确;检查主机、打印机串口参数设置并严格进行匹配。
(3)打印机端口(LPT1)设置不匹配;可在主机的“设备管理器”和“CMOS”中对SPP(Normal)、ECP、EPP进行重新选择和设置,一般来说,选择SPP(Normal)的兼容性是最好的。
(4)系统接地不良(该系统亦指由HOST主机、通信电缆、打印机三个方面组成的整体系统)
改良系统的接地(例如:通信电缆:增加屏蔽或信号地接机壳地);电脑/打印机:改进主板的接地设计。
(5)某些主机对于选择性信号处理设计不良,例如:第36pin(SLCT IN)信号
可对通信电缆的SLCT IN信号进行特殊处理。
(6)接口的设计问题:
接口协议时序的时间控制冗余度不够
接口对干扰信号的处理能力较低
某些HOST主板接口的输出电平处于临界状态(包括高度与宽度)或比标准略低,而打印机对此的冗余度处理不够宽容。
对于该问题,只能更换接口部件或设计部门改进设计,增大接口对输入信号的冗余处理度。
并增强对干扰信号的处理能力(加大滤波等)
二、 仿真的兼容性
现打印机的主流仿真命令是使用ESC/PK、PCL、PostScript三种标准,对此笔者在“打印机的控制命令”一文已有详细的论述。
对于针式打印机的仿真,现实际应用的主流仿真命令是使用ESC/PK、OKI、IBM、PR2(存打)等标准。
在应用中的主要问题有如下两个层面问题:
1. 应用层面:主要是设置问题,既主机和打印机设置问题没有匹配,导致出现打印乱码现象,将主机的驱动程序与打印机仿真设置匹配既可解决该问题。
2.软件设计层面:主要是对每一种仿真命令的具体命令的理解、解释与处理方面,存在一定的差异而导致的,该问题的解决要取决于软件设计人员对仿真命令数据库掌握的程度,既对每一条命令的功能、参数及范围,要具有深入、到位的了解、才能解决。
三、 系统的兼容性
系统的兼容性主要是针对软件系统而言的,我们可以将整个软件系统分为四个部分,对于系统的兼容性其实就是该四个部分要达到“无缝联接”,既面对用户应该是完全是透明的。

1、 *** 作系统层面的兼容性
这里仅论述Windows系统在配置方面的问题
1)发票打印格式或字体不对,此为文件格式的设置出现问题:
可将EMF(Enhanced MetaFiles Format) 增强型图元文件改为 RAW(Raw Image Formats)原始数据格式方式即可解决(在驱动程序的后台打印数据格式设置一栏进行)。
2)打印格式错误
(1)打印错位
在 Windows 系统的 Word 、Exce 等软件,都有调整打印页边距(上、下、左、右边距)的设置,只要在打印之前作好相应的设置即可。
(2)特殊纸张格式:
可利用打印机驱动程序属性中的“纸张”定义的“自定义”模式予以实现。
2、 应用系统(行业主流业务平台)的兼容性
这里主要是应用系统(例如:金税系统)在打印任务栏的设置问题
1)打印格式错误: 进行相应页面的设置
2)水平打印超界: 进行左右边界调整设置
3)上下打印位置不对: 进行上下边界调整设置
3、驱动程序的兼容性
对于Windows 系统驱动程序的开发,Microsoft公司已提供了完善的不同系统的开发平台,例如:SDK、DDK等系统,使开发者比较容易的开发出标准的驱动程序,其它的 *** 作系统开发商也提供类似的开发平台或开发工具。
需要注意的是,驱动程序的开发者,既要熟练掌握这些开发平台(工具)的开发技能,又要熟知不同开发平台(工具)、程序模型、目标程序群的差异性,才能使所开发的驱动程序具有良好的兼容性。
4、打印机控制程序的兼容性
打印机控制程序又可称为:Firmware、Control ROM,这是打印机控制的灵魂,也是打印机客户化和兼容性的核心所在,其设计要点如下:
1) 要按各种标准建立基础数据平台。
2) 对各个仿真命令数据库的准确理解和到位的处理。
3) 熟知各个应用系统(主流业务平台)、驱动程序的打印控制的要点。
4) 按标准、惯例、用户应用要求进行各种控制功能的设计。

1、MTrading 纵海金融:全球最大的外汇交易商成员之一,受澳大利亚证券和投资委员会ASIC监管,ASIC完善的金融监管体系和严格的执行力度,受到了各国投资者和监管同行的一致认可,一直以来都被公认为世界上最严格、最健全、最能保护投资者权益的金融监 管体系之一。

2、FXCM:全球客户量最多,外汇行业领航者,监管机构为FSA,已经是上市公司FXCM在FSA的注册号为:217689。

3、IBFX :也称"银特贝克",成立于2001 年,总部位于美国犹他州盐湖城,是一家在线外汇交易服务提供商,提供个体经纪人、基金经理、机构客户专有技术以及用于在线交易即期外汇的工具。

4、FXDD :有40年的经营历史。于1973年在瑞士股票交易市场挂牌上市,并于1999年在德国法兰克富股票交易市场交易。拥有16家分公司遍布全球。公司经营的产品众多,包括: 债券、股票、固定利息产品、外汇、期指、期权、期货及众多的金融衍生产品。同时还交易如金属,能源等期货产品。

5、GKFX:捷凯金融集团是一家年轻,具有活力和有远见的公司。于2008年广邀具有丰富金融市场经验的人士加入,并于2009年正式于英国伦敦成立。在专业的管理团队中的领导层具有超过20年的金融市场经验并对行业发展具有独到的战略眼光。:捷凯金融集团是一家年轻,具有活力和有远见的公司。于2008年广邀具有丰富金融市场经验的人士加入,并于2009年正式于英国伦敦成立。在专业的管理团队中的领导层具有超过20年的金融市场经验并对行业发展具有独到的战略眼光。

扩展资料:

外汇交易平台指外汇市场上的一些具备一定实力和信誉的独立交易商,不断地向投资者报出货币的买卖价格(即双向报价)24小时交易除了节假日,并在该价位上接受投资者的买卖要求。

平台可以持有自有资金与投资者进行交易,在市场成交稀交的时候,买卖双方不需等待交易对手出现,只要有平台出面承担交易的"对手方"即可达成交易。这样,会形成一种不间断的买卖,以维持市场的流动性。概况的说就是一个外汇交易的场所。

参考资料:

外汇交易平台 百度百科

要讲定时离不开中断,两者结合使用的。定时计数器主要用到TMOD工作模式寄存器,TCON定时器的控制寄存器,EA中断允许控制寄存器,IP中断优先级寄存器 定时器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONTF0/TF1:定时器0/定时器1溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。TR0/TR1:定时器运行启停控制位: =0:定时器停止运行; =1:定时器启动运行。TCON:Timer控制寄存器,是管理定时器工作的SFR(其中低4位管外部中断)定时器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCONIE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位: =0:在INT0/INT1端申请中断的信号低电平触发; =1:在INT0/INT1端申请中断的信号负跳变触发TCON:Timer控制寄存器,低4位管理外部中断�8�4在CPU已经开放了外部中断允许的前提下:�8�4在INT0/INT1引脚输入一个负脉冲或低电平, �8�4TCON寄存器中的IE0/IE1标志位自动变“1”, 检测到IE0/IE1变“1”后,将产生指令:执行中断服务程序,�8�4并将IE0/IE1标志位自动清“0”,以备下次申请。外部中断(INT0,INT1)申请过程 单片机的定时/计数器定时器计数器的概念一、计数的概念
选票:画“正”。这就是计数,生活中计数的例子处处可见。比如一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。51单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。
二、定时
计数器是如何作为定时器来用的呢?比如一个闹钟,将它定时在1个小时后响闹,我们也能说成是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间十分相关。那么它们的关系是什么呢?也就是秒针每一次走动的时间要正好是1秒。
只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。由此,单片机中的定时器和计数器是同一个东西,只不过计数器是记录的外部的触发脉冲,而定时器则是由单片机供给一个非常稳定的计数源。供给定时器的是计数源是机器周期也就是由单片机的晶体震荡器经过12分频后获得的一个脉冲源(机器周期)。晶振的频率是很准确的,所以这个计数脉冲的时间间隔也很准。一个12M的晶振,它供给给计数器的脉冲时间间隔是1微秒。计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。这是逻辑图,可以看到T1是一个单刀双掷开关,说明定一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用;接通T1引脚时作为外部计数用。(T0的引脚是P34,T1的引脚是P35)。
比如滴水的例子,当水持续落下,盆中的水逐渐变满,最终会有一滴水使得盆中的水全满了。这个时候如果再有一滴水落下,水会漫出来,用术语来讲就是“溢出”,而每一滴水落下,用术语来说就是发出一个计数脉冲。 水溢出是流到地上,而计数器溢出后就会引发一个定时中断事件,就象定时的时间一到,闹钟就会响一样。 现在另一个问题是:要有多少个计数脉冲才会产生事件。 刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有少于65536个计数值的要求,如制药厂包装线上,一瓶药片为100粒,500瓶为一箱 那么怎么样来满足这个要求呢?举例 如果是一个空的水盆要1万滴水滴进去才会满,我在开始滴水之前就先放入一勺水,还需要10000滴吗?对了,这时我们就采用预置数的办法,我要计 100,那我就先放进65436,再来100个脉冲,不就到了65536了吗。定时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65536 毫秒,但现在我只要10毫秒,怎么办?10个毫秒为10000个微秒,所以,只要在计数器里面放进55536就可以了。溢出的概念和设置任意定时计数的方法3个16位定时器/计数器 ——(51系列有2个16位Timer少一个T2)定时器:对片内机器时钟(周期方波)进行计数计数器:对Tx引脚输入的负脉冲进行计数与Timer工作有关的特殊功能寄存器: TCON 和 TMODAT89S52单片机的定时器/计数器单片机定时/计数器内部结构单片机定时/计数器内部结构图定时器的2个特殊功能寄存器(TCON)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0定时器控制寄存器TCON (88H)TF0/TF1: 定时器0/1计数溢出标志位。 =1 计数溢出; =0 计数未满 TF0/TF1标志位可用于申请中断或供CPU查询。 在进入中断服务程序时会自动清零;但在 查询方式时必须软件清零。TR0/TR1: 定时器0/1运行控制位。 =1 启动计数; =0 停止计数TR0/TR1:定时器0/1运行控制位: TR0/TR1 =0 时,Timer0/1停止计数 TR0/TR1 =1 时,Timer0/1启动计数定时器T0/T1 中断申请过程�8�4 在已经开放T0/T1中断允许且已被启动的前提下:�8�4 T0/T1加满溢出时 TF0/TF1标志位自动置“1” �8�4 检测到TCON中TF0/TF1变“1”后,将产生指令: 执行中断服务程序,�8�4 TF0/TF1标志位会自动清“0”,以备下次中断申请。 定时/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON (88H)GATE C / T M1 M0 GATE C / T M1 M0定时器方式寄存器TMOD (89H)T1T0M1,M0:工作方式定义位 ( 定义4 种方式 ):C/T :计数器/定时器选择位 = 1 外部事件计数器。对T0/T1引脚的负脉冲计数; = 0 片内时钟定时器。对机器周期脉冲计数定时0 0:13位 定时器——几乎不用0 1:16位 定时器——经常用到1 0:可自动重装的 8位 定时器——经常用到1 1:T0 分为2个8位 Timer;T1 此时不工作 ——几乎不用GATE C / T M1 M0 GATE C / T M1 M0T1T0GATE门控位: Timer可由软件与硬件两者控制 �8�4 GATE = 0 ——普通用法 Timer的启/停由软件对TRx位写“1”/“0”控制定时器方式寄存器TMOD(89H)�8�4 GATE = 1 ——门控用法 Timer的启/停由软件对TR0/TR1位写“1”/“0” 和在INT0/INT1引脚上出现的信号的高/低共同控制GATE=0时,定时/计数是否工作,只取决于TR0是否为1。GATE=1,只有TR0为1,且INT0管脚也是高电平,定时/计数才工作。 从电路上看到GATE是一个非门,它与INTx组成一个或门,这个或门与TR0又组成一个与门。当GATE=0时,则~GATE=1(非门),此时无论INT0为高或低,它们相或之后必然为1,此时只要TR0=1,则工作,TR0=0则不工作,不受INT0的影响。当GATE=1时,~GATE=0,则INT0=1时,它们相或为1,此时定时器是否工作受TR0影响;若INT0=0,则无论TR0为什么,定时器都不能工作,即当GATE=0时,定时器受INT0和TR0共同的作用。 所以,GATE位的状态决定定时器运行控制取决于TR0的一个条件还是TR0和INT0引脚这两个条件。当GATE=1时,由于GATE信号封锁了与门,使引脚 INT0信号无效。而这时候如果TR0=1,则接通模拟开关,使计数器进行加法计数,即定时/计数工作。而TR0=0,则断开模拟开关,停止计数,定时 /计数不能工作。 当GATE=0时,与门的输出端由TR0和INT0电平的状态确定,此时如果TR0=1,INT0=1与门输出为1,允许定时/计数器计数,在这 种情况下,运行控制由TR0和INT0两个条件共同控制,TR0是确定定时/计数器的运行控制位,由软件置位或清“0”。振荡器�8�112TLx THx (8位) (8位)TFx申请中断Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制 开关或门与门非门定时器结构与工作方式工作方式1:——16位的定时/计数器在工作方式1下,计数器的计数值范围是: 1~65536(216)
当为定时工作方式1时,定时时间的计算公式为:
(216—计数初值)╳晶振周期╳12或 (216—计数初值)╳机器周期
其时间单位与晶振周期或机器周期相同。
�8�4 THx/TLx赋初值:THx赋高8位,TLx赋低8位工作方式1 的编程要点: �8�4 TMOD选方式: 写“M1,M0”=01 选方式1�8�4 若不用门控位,直接用软件写TRx控制启/停�8�4 若使用门控位,先置位TRx,然后由INTx端 的高/低电平来控制其启/停�8�4 若要允许中断,还须先置位ETx、EA等中断 允许控制位,并编写中断服务程序�8�4 若不用中断,可查询“计数溢出标志TFx” 的方式工作,但溢出标志TFx须软件清0工作方式2:——8 位自动重装的定时/计数器振荡器�8�112TLx (8位)TFx申请中断Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制 =1开关接通或门与门THx (8位)溢出位门开�7�4 THx/TLx赋相同初值 在TLx计数达到0FFH 再加“1”时,TL0 将溢出,进位位直接进入“TFx”去申请 中断,同时打开三态门,使THx中的值 自动重装(Copy)进TLx工作方式 2 的编程:�7�4 TMOD寄存器选方式: 写“M1,M0” = 10选中方式2�7�4 其他用法与各种方式1完全相同T0: 组织成TL0和TH0两个8位定时/计数器Timer工作方式 3 ——几乎无用T1: 不再是定时/计数器了 T1 的TR1和TF1出借给TH0当控制位使用, 剩下的TH1/TL1寄存器只能当作普通寄存 器用。振荡器�8�112TL0 (8位)TF0申请中断T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制 =1开关接通或门与门TH0 (8位)TF1申请中断TR1位控制 =1Timer工作方式 3 结构:�7�4T0成为双 8位Timer �7�4T1不再有Timer功能 �7�4TF1,TR1出借给TH0 定时器小结: (2个16位加法计数器)�7�4运行/停止由TRx位控制,(当GATE=1时: 由TRx位和Tx引脚上的信号共同控制)�7�4工作方式由TMOD决定; 计数/定时由C/T位决定 工作方式0(13位) 永远不用 工作方式3(T0拆为双8位) 几乎无用 工作方式1(16位) 经常用到 工作方式2(8位自动重装) 经常用到�7�4从初值按机器周期或外部脉冲递加,溢出位 TFx申请中断;中断允许由ETx位和EA位控制,定时器/计数器的定时/计数范围 工作方式0:13位定时/计数方式,因此,最多能计到2的13次方,也就是8192次。 工作方式1:16位定时/计数方式,因此,最多能计到2的16次方,也就是65536次。 工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多能计到2的8次方,也说是256次。 预置值计算:用最大计数量减去需要的计数次数即可

COM Express 是国际工业电气协会(PICMG)定义的计算机模块标准,由几大嵌入式工业计算机厂商共同制定的一种计算机模块标准,类似的标准还有ETX,XTX,Qseven。是一种高度集成的单板计算机,特别适合于执行自定义的工业计算机解决方案,适合于在标准的单板计算机因结构或由于缺乏扩展性而不适合时使用,在COM Express 标准里抛弃了之前的低速度PCI,IDE信号,是一个以全新的高速计算机接口为主的标准,PCI Express,串行ATA,千兆网口,SDVO及USB30将被支持。
所有的电子信号都通过AB和CD两个220PIN的连接器与接口底(又称com express载板或


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10790351.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存