原创 学习笔记

2008-5-12 20:33 3587 6 6 分类: 工程师职场

基于DSP 和AVR 单片机的主从式双CPU 导航计算机


捷联制导系统的数据处理与计算, 包括误差补偿、初始对准、垂直水平基准计算、在线校正、滤波等,DSP 可很好的完成, 但输入输出涉及与外界进行大量的数据交换和外设控制等 IO 操作, 这是DSP 的弱项,勉强令其完成此工作, 则它赖以进行高速数据处理的多级缓冲和高速流水线机制将被频繁打断, 同时低速的外设和 IO 操作要求在DSP 的操作时序中插入大量的等待周期, 最终使DSP 的优势大大消弱。那么, 数据输入, 包括采集信号、输入初始对准数据、接收系统校正信息等由谁来完成呢? 用AVR 单片机完成


采用 F IFO 作为 DSP 和AVR 沟通信息的桥梁


b8bfbaa0-cb73-4fc8-bd51-4a56dc5dba16.GIF


VB与 avr通信


MSCOMM 控件功能介绍
VB 提供了一个基本通信控件 MSCOMM32.OCX ,它具备串行通信的能力 ,可以通过串口接收和传输数据。
CommPort :端口号 ,用于选择通过哪个端口进行通信。
InBufferCount :返回接收缓冲区中等待的字符数 ,可以通过置 0 来清空缓冲区。
InBufferSize :设置并返回接收缓冲区的字节数。
Set tings :设置并返回波特率、奇偶校验、数据位、停止位参数。通常设置为: “9 600 , n ,8 ,1”。
PortOpen :设置并返回通讯端口的状态(开或关) 。端口打开后 ,可以直接读写数据流。
Input :返回并删除接收缓冲区中的数据流。
InputLen :设置并返回 Input 属性从接收缓冲区读取的字符数。
InputMode :设置或返回 Input 属性取回的数据的类型。
Output :往传输缓冲区写数据流。


以下是加载窗体时对 MSCOMM 控件的初
始化设置
Private Sub Form   Load ()
With MSComm1
. CommPort = 1 ’设置通讯端口
. InBufferCount = 0 ’清空缓冲区
. InBufferSize = 5 000’设置通讯波特率等
. Set tings =“9 600 , n ,8 ,1”
If (PortOpen = False) Then
  PortOpen=True                                                                                                                                           End if
’将取出的数据设置为二进制
. InputMode = comInputModeBinary
End With
End Sub


跳频可以有效的消除通信中的干扰


       在军事通信中,为了保证通信的保密性和可靠性,也经常采用跳频通信系统。使用固定的频率传输,很容易被敌窃听和无线电干扰,于是跳频技术就成了窃听和干扰的“克星”。


       在跳频实现中,直接数字式频率综合器(DDS) 是一个很关键的器件。AD9852 可用于通信系统的本振雷达等用途。


一种基于AVR 单片机的直流电源监控系统


       发电厂、变电站(所)等供配电部门通常用蓄电池直流电源作为控制、信号、保护、事故照明、直流油泵、分合闸等装置的不间断电源, 直流电源装置可靠与否
直接影响到供配电系统的安全运行。


高速锁存芯片74AHC573, 地址译码芯片 74AHC138 以及总线驱动芯片74AHC244,245


 


AVR 单片机实现光电隔离RS - 422/ 485智能接口研究


点击看大图


RS - 232接口电路
MAX238 接口芯片含有 4 路 RS - 232 接口电路其中一路用于 RXD、 TXD 通讯信号的电平转换 ,另外两路用于 DTR、 RTS信号的电平转换.通过主机软件设置DTR、 RTS的状态选择通讯接口 ,实现主机与连接在此通讯接口上的从机进行
的数据通讯
RS - 422/ RS485接口电路
这部分电路由4 片(U3~U6)MAX489 芯片组成 ,芯片内部含有 1 组接收、发送电平转换电路.该芯片是全双工通讯方式的 RS422接口芯片 ,RE使能端(低有效)控制数据的接收 ,DE 使能端(高有效)控制数据的发送. 当该芯片用于 RS485半双工通讯方式时 ,须将连接在发送器输出端和接收器输入端的开关全部闭合.
为便于通讯系统
调试 ,可以在各路发送使能端和数据接收端分别安装一个发光管以观察各路的通讯状态.


RS485通讯方式是软件通过收、发使能信号来控制数据的分时接收与发送 ,使用同一对差分通讯总线实现双向数据通讯的半双工通讯方式而 RS232通讯接口不能提供这样的使能控制信号.通过单片机对主机 PC - TXD 信号的监测 ,准确计算出传送一帧数据的时间 ,智能产生收、发使能信号 ,控制数据的分时接收与发送 ,从而实现数
据的半双工通讯.


单片机对传送一帧数据的时间的识别方法如
下:当单片机监测到主机发送数据的起始位时 ,开
始测量 PC - TXD信号的每个脉冲的脉冲宽度 ,计
算出对应的波特率 ,若均属于通用波特率集合 ,它
们中的最高波特率即是通讯波特率.否则 ,该脉冲
宽度是发送两帧数据的间隔时间 ,电平负跃变的
时刻是起始位的开始时刻 ,开始重新测量每个脉
冲的脉冲宽度.当通讯波特率确定后 ,检测第十位
的电平状态 ,若是低电平 ,则可确定是 11 位通讯
方式.否则是10 位通讯方式.由通讯波特率和通
讯方式计算出传送一帧数据的时间.
通讯接口接收、发送数据的智能控制过程如
下:每当监测到主机发送数据的起始位时 ,单片机
输出收、发使能信号(RE = 1、 DE = 1) ,控制收、发
电路禁止接收、允许发送数据 ,主机数据发送到
RS485通讯总线上 ,同时定时器开始计时.当计时


时间等于发送一帧数据的时间时 ,单片机输出收、
发使能信号(RE = 0、 DE = 0) ,控制收、发电路允许
接收、禁止发送数据. 此时 ,主机可以接收 RS485
通讯总线上的从机数据.当单片机又监测到主机
发送数据的起始位时 ,重复上述的发送过程


单片机 I/ O 端口的分配和功能: ICP 捕获输
入[1 ]
端用于监测主机 PC - TXD 信号; PB0~PB7
输出端用于通讯接口的收、发使能控制信号;
TXD、 RXD用于与主机通讯 ,可根据主机命令来选
择通讯接口;PD4 输入 ,由 K1 设置双工或半双工
通讯方式.通过 K2、 DTR 和 RTS选择通讯端口如


USB 充电电路 ,网上高手制作


点击开大图


 


 


利用电脑中几乎被人遗忘的PC小喇叭发出超声波,来达到驱蚊效果


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /4 下一条