Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69584
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-10 08:06
文章分类
文章存档

2015年(24)

我的朋友

分类: 嵌入式

2015-04-04 12:59:19

从机io口设置
多机通信系统中,从机采用漏级开路方式连接,从设备的串口必须配置为漏极开路,不能是推挽方式,推挽方式的高、低电平的驱动能力很强,如果将两个不同电平的io口连接在一起,会导致灌电流过大烧坏io口,漏极开路的漏级有上拉电阻会限制电流的大小

一主多从的硬件连接方式
主机的TX输出与从机的RX端口直接相连,从机的TX端口经过与门与主机的RX端口相连接。由于输出口为推挽输出,直接将从机的Tx与主机的RX相连即可。

通信机制
多机通信机制是使从机处于静默状态,从机发送指令唤醒从机,然后发送数据。

静默状态的特点
(1)所有接收状态都不会被置为1。
(2)所有的接收中断都被禁止。
(3)USART_CR1寄存器中的RWU被置为1;RWU可以由硬件制动控制,或在特定的条件            下由软件写入。
(4)根据USART_CR1中WAKE位的设置情况,USART有两种唤醒方式
          1、WAKE = 0时,进行空闲线路检测。
         2、WAKE = 1时,进行地质标记检测。  
唤醒方式
1、空闲线路检测唤醒机制

     WAKE = 0,RWU被置为1时,让RX端口接收到TX发出的空闲帧时,从机便会被唤醒。此时由RWU被硬件置为              0,但USART_sR1中的IDLE不会置1。也可以通过软件清零RWU。这种模式可以唤醒所有从机,实现多机同步。

                                 
2、地址标记检测唤醒机
     原理:当从机处于静默状态时,主机发送地址,从机会接收并与自身设置的地址相比较,如果一样则被唤醒,否则继续处于静默状态。
      
接收寄存器的地址存放在USART_CR2的ADD上,一共4位。
            发送的地址有两种格式:
                                                    (1)地址为8bit,最高位为MSB,且必须设置为1
                                                    (2)地址为9bit,最高位为MSB,且必须设置为1
应的API函数
(1)使能静默函数: void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState Newstate)
                                 
USARTx:串口号    
                                 
Newstate = ENABLE 使能进入静默模式
                                                     DISABLE 退出静默模式
(2)设置唤醒模式:void USART_WakeUpConfig(USART_TypeDef* USARTx, u16 USART_WakeUp)
                                     USARTx:串口号 

                                     USART_WakeUp:唤醒方式
                                     USART_WakeUp   = USART_WakeUp_IdleLine  空闲检测唤醒                             
                                     USART_WakeUp   = USART_WakeUp_ AddressMark 地址标记检测唤醒发

AddressMark

 

(3)设置串口地址:void USART_SetAddress(USART_TypeDef*U
S
ARTx, u8 USATR_Address)

AddressMark

 

                                     USARTx:串口号
                                     USATR_Address:地址,低四位有效。




































阅读(3993) | 评论(0) | 转发(0) |
0

上一篇:linux启动过程

下一篇:HTML基础

给主人留下些什么吧!~~