电子说
在电子设计领域,通信控制器的性能和兼容性对系统的整体表现起着关键作用。IA8044/IA8344 SDLC通信控制器作为一款具有重要应用价值的器件,值得我们深入探究。今天就和大家详细分享这款控制器的相关技术细节。
文件下载:IA8X44PDW40IR3.pdf
IA8044和IA8344是采用Innovasic的Managed IC Lifetime Extension System(MILES)技术生产的快速单芯片8位微控制器,集成了SDLC/HDLC串行接口控制器。它们与Intel 8044和8344在外形、适配性和功能上兼容,能执行所有ASM51指令,指令集与Intel 80C51相同。这意味着在设计中使用它们可以很好地替代原有的Intel器件,避免了昂贵的重新设计工作。不过需要注意的是,虽然大部分功能兼容,但仍存在一些差异,相关内容在数据手册的勘误部分有详细说明。
该控制器提供了PDIP和PLCC两种常见的封装形式。
不同封装的物理尺寸也有详细规定。
IA8044/IA8344的绝对最大额定值和直流特性是设计时必须关注的参数。
从功能框图(图5)可以看出,该控制器包含了多个功能模块,如I/O接口、内存控制、时钟生成与定时、CPU、RAM、中断和定时器以及SIU(串行接口单元)等。这些模块相互协作,实现了数据的输入输出、存储、处理和通信等功能。
各引脚的输入/输出特性明确。例如,RST引脚用于复位,当振荡器运行时,将其拉高两个机器周期可使芯片复位;ALE引脚用于外部内存访问时锁存地址;PSEN引脚在低电平时作为外部程序内存的输出使能;EA引脚控制从外部还是内部获取指令等。了解这些特性有助于正确连接和使用这些引脚。
特殊功能寄存器(SFRs)是控制和配置该控制器各种功能的关键。例如,PSW(程序状态字)寄存器包含了CPU状态标志、寄存器选择位和用户标志;TMOD(定时器/计数器模式)寄存器用于选择定时器和计数器的工作模式等。每个SFRs都有其特定的功能和作用,详细信息可参考表9。
P0、P1、P2和P3端口都是SFRs,具有双向数据传输能力。每个端口都由锁存器、输出驱动器和输入缓冲器组成,可用于数据的输入输出。同时,这些端口还具备一些替代功能,如P3端口的多个引脚可用于串行通信、外部中断和内存读写等。
该控制器有两个16位的定时器/计数器(Timer 0和Timer 1),可配置为计数器或定时器模式。定时器模式下,寄存器每机器周期递增;计数器模式下,在相应输入引脚T0或T1检测到下降沿时递增。它们有四种工作模式可供选择,通过TMOD和TCON这两个SFRs进行设置,不同模式适用于不同的应用场景。
包括累加器(ACC)、B寄存器、程序状态字(PSW)、堆栈指针(SP)和数据指针(DPTR)等。累加器通常用于存储操作数;B寄存器用于乘法和除法指令;PSW寄存器反映CPU的状态和寄存器选择;SP指针指向内部RAM的堆栈位置;DPTR用于访问外部代码或数据空间。
提供了五个中断源,包括两个外部中断(INT0和INT1)、定时器0和定时器1中断以及SIU中断。中断优先级分为两级,可通过IP寄存器进行配置。中断处理过程中需要注意一些条件限制,如同一或更高优先级中断正在处理、当前指令未执行完等情况下,中断可能会被阻塞。
SIU是该控制器的核心部分之一,专门用于支持SDLC/HDLC协议。具有自动(AUTO)和灵活(FLEXIBLE)两种工作模式。
SIU通过多个SFRs进行控制和与CPU通信,数据的发送和接收存储在192字节的内部RAM的发送和接收缓冲区中。同时,它支持半双工点到点、半双工多点和环路模式三种串行数据链路配置。在数据时钟方面,可采用外部时钟或自时钟模式,不同模式下的数据速率有所不同,具体的时钟选项通过SMD寄存器的相关位进行选择。
IA8044/IA8344支持多种帧格式,包括标准SDLC格式、无控制字段格式、无控制字段和无地址字段格式以及无FCS字段格式。不同的格式适用于不同的应用需求,可通过设置相关的位来选择特定的帧格式。例如,标准SDLC格式包含标志、地址、控制、信息、FCS和标志等字段,适用于大多数常规通信场景;而无控制字段和无地址字段格式则在一些对数据传输格式要求较为灵活的场景中可能更适用。
虽然该控制器支持部分HDLC协议,但与标准HDLC协议存在一些差异。例如,IA8044/IA8344将串行数据限制为8位增量,而HDLC允许信息字段包含任意数量的位;HDLC提供无限制的地址字段和扩展的帧编号序列,且不支持环路配置。在使用时需要注意这些差异,以确保通信的正确性。
SIU由位处理器(BIP)和字节处理器(BYP)两个功能块组成。
该控制器提供了诊断模式,通过操作P3.0和P3.1端口引脚实现。将P3.1引脚清零可启用诊断模式,此时向P3.0写入数据相当于向SIU写入串行数据流,P3.0作为串行数据,对端口3的任何写入操作都会时钟SCLK,可在P3.1上监测发送数据。在测试模式下,P3.0和P3.1引脚处于高阻抗状态。
数据手册提供了外部程序内存、外部数据内存、串行接口和外部时钟驱动等方面的交流特性参数。例如,对于不同时钟频率下的ALE脉冲宽度、地址有效时间、数据有效时间等都有明确规定,大家在设计时要根据具体的应用场景和时钟频率选择合适的参数。
复位操作通过在振荡器运行时将RST引脚拉高至少两个机器周期(24个振荡器周期)来实现。复位后,CPU会生成内部复位信号,影响所有SFRs的值,但不影响内部RAM的内容。复位后各寄存器的具体值在表52中有详细列出,这些值为系统的初始化提供了基准。
IA8044和IA8344的指令集与Intel 8051相同,涵盖了算术运算、逻辑运算、数据传输、布尔操作和程序分支等多种指令。详细的指令集信息在表53 - 57中列出,大家可以根据具体的编程需求选择合适的指令。
数据手册中还列出了该控制器存在的一些问题及相应的解决方法。例如,不能使用EPROM验证方法读取内部ROM,需要采用替代方法;器件的上拉值与Intel版本不同,可能需要调整外部电路;在特定条件下,SIU在开始传输时会覆盖RCB寄存器,解决办法是在发起传输前读取RCB等。在使用过程中需要注意这些问题,避免因这些小瑕疵影响整个系统的性能。
通过对IA8044/IA8344 SDLC通信控制器的详细分析,我们可以看到它在功能和性能上都有很多亮点,同时也存在一些需要注意的地方。在实际设计中,大家要根据具体的应用需求,充分发挥其优势,同时注意解决可能出现的问题,以实现高效、稳定的通信和控制。希望这篇文章能对大家在使用这款控制器进行设计时有所帮助,如果在实际应用中遇到任何问题,欢迎一起交流探讨。
全部0条评论
快来发表一下你的评论吧 !