自动地址识别
自动地址识别具有使通用异步收发机(UART)利用硬件识别串行位流中的某些地址并作出比较这样一种特性论文网。该功能的特点是通过消除需要软件检查每个通过串口传送的地址可以节省大量的软件开销。启用此功能通过在SCON中设置SM2位实现。在9位通用异步收发机(UART)模式时,模式2和模式3,当接收到的字节中包含“给予”地址或“散播”地址时,接收中断标志(RI)将自动设置。该9位模式下要求9th信息位为1,表明该信息内容是地址或没有数据。自动地址识别由图9显示。
8位模式称为模式1。在这种模式下,如果SM2启用,并且接收信息有一个有效的停止位紧跟着8的地址位,且此信息要么是一个已给定的或散播地址,这时,RI标志将被设置。
模式0是转移寄存器模式,SM2被忽略。
使用自动地址识别特性时,主机可通过调用给定的子程序地址,从而有选择的与一个或多个子程序通信。通过使用散播地址,所有的子程序都可相互联系。有两个特殊功能寄存器用来定义从机地址,SADDR和地址掩膜SADEN。SADEN是用来定义在SADDR中的哪些位是有用的,哪些位是无关紧要的。SADEN掩膜可以与SADDR进行逻辑与运算,创建给定的地址,以便主机将为每个子程序创建地址。使用给定地址可以识别多个子程序,而排除其他。下面的例子就显示了这项组合的多功能性:
子程序 0 SADDR=1100 0000
SADEN=1111 1101
给定 =1100 00X0
子程序 1 SADDR=1100 0000
SADEN=1111 1101
给定 =1100 000X
在上面的例子中,SADDR是相同的,而SADEN的数据用于区分两个从机。子程序0需要位0为0而忽略位1,子程序1需要位1为0,而位0被忽略。因为子程序0需要位0为0,所以其唯一地址应当是1100 0010。子程序1的唯一地址位将为1100 0001, 因为位0上的1就把子程序0排除了。两个子程序都可以由一个为位0(对于子程序0)或位为1(用于子程序1)地址在同一时间被选择。因此,都可将地址设为1100 0000。
在更复杂的系统的下列可用于选择子程序1和2而排除子程序0: