EDN首页   博客首页

最新日志

发表于:2007-10-17 12:50:09
标签:无标签

0

好想你

无时无刻不在想你
跟你在一起的每一个片段,你的每一个行动,每一句言语
都时刻回荡在我的脑海里
我的脑子里全是你
我知道这样是错的
可是真的很喜欢你
如果你可以再年轻一些
如果你真的只有我一个
如果你是真的对我
如果你说的每一句哄我的、骗我的话都是真心喜欢我才说的
那我会是多么的幸福
我知道这是不可能的
因为你根本不是这样的人
我了解你
却不会揭穿你
向你提出不再见面的时候
心里变得很空
空空的
这次真的决定不再联系你了
也许这样做对我们都好。

系统分类: 生活点滴   |    用户分类:    |    来源: 原创

评论(2) | 阅读(577)
发表于:2007-10-16 10:58:01
标签:集成电路封装  

0

封装形式

什么是SOP?是什么?
正确答案:Small Outline Package 是一种IC封装,脚左右扁平内贴
8.什么是BGA?是什么?
正确答案:一种芯片封装,珠型脚。
9.什么是QFP?是什么?
正确答案:quad flat package 四面扁平封装
10.什么是DIP?是什么?
正确答案:Dual in line package 双排直掐座
11.标淮双列直插芯片,隔邻两脚距是多少?两排脚距是多少?
正确答案:0.1英寸. 0.3英寸.(小芯片) 或0.6英寸(大芯片)
12.军工标准是怎样规定的?
正确答案:一般称883标淮. 是看某待测品在极差的环境下是否仍能正常工作.例如-80度,+200度,大震动,强酸等.
26.IC可分为哪几类?
正确答案:很多。 如:51系列、EPROM、EEPROM、PIC、DSP、ARM等。
27.QFP/BGA/TQFP/SOP是什么意思?
正确答案:QFP是指芯片四边有脚,脚向外贴 BGA是指芯片的脚全在芯片的下面,为球型 TQFP是指芯片的脚是正方型贴片的 SOP是指脚在两边,脚向外贴
28.TSOP是一个什么样的概念?
正确答案:Thin small outline package的缩写. 是一种封装,一般用在动态RAM、FLASH,它的厚度只是SOJ 封装的1/3.
29.光耦为什么要分八脚和十六脚呢?
正确答案: 8脚的可能是2对光电的控制. 16脚的可能是4对光电的控制
30.电阻排的作用是什么?
正确答案:单片机的输出或输入或缌线需上拉至+5V或下拉至地电平,一次不止用一个电阻.(比方说同时要上拉或下拉八位,便需八个电阻).
31.三极管的作用是什么?
正确答案:证通过此三端的电流或电压变化. 例如让电流或电压通过去或是切断. 让信告放大或缩小(例如大声/小声)
32.三端的作用是什么?
正确答案:稳压. 例如7805.
33.光耦的作用是什么?
正确答案:通信电气接口与接口的电气隔离
34.继电器的作用是什么?
正确答案:利用电来产生磁力,使电能够做开关.
35.怎样去看出芯片是一次性的?
正确答案:不带窗口。而且厂商的目录中也说明某种芯片是一次性的。
36.QFP和TQFP有何区别?
正确答案:封装不一样。 QFP代表:(QUAD FLAT PACKAGE) TQFP代表:(THIN QFP )T代表超薄的意思。
37.SOIC指什么样的封装形式?

系统分类: 资源共享   |    用户分类:    |    来源: 整理

评论(0) | 阅读(767)
发表于:2007-10-6 16:31:01
标签:485通讯原理  

1

RS485通讯原理


RS485串口通信原理

一、RS485串口通信电路图
     点击看大图
 
二.VxWorks中基于RS485总线的串口通信协议及实现

摘  要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备的驱动架构及实现,提出了一种基于RS-485总线的新型串口通信协议,重点讨论了基于这种协议的应用程序的设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了字符合法性校验、长度校验、内容的CRC校验,提高了系统的通信效率和稳定性。
关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验

 RS-485总线

RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。

VxWorks中串口驱动的实现

VxWorks 操作系统是美国Wind River公司设计开发的嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。Vxworks 操作系统的I/O 系统可以提供简单、统一、与任何设备无关的接口。这些设备包括:面向字符设备、随机块存储设备、虚拟设备、控制和监视设备以及网络设备。Vxworks 的I/O 系统包括基本I/O 系统和缓冲I/O 系统,具有比其他I/O 系统更快速,兼容性更好的特性。这对于实时系统是很重要的。

     串口驱动架构

基于vxWorks的串口设备驱动程序架构,对vxWorks的虚拟设备ttyDrv进行封装,向上将TTY设备安装到标准的I/O系统中,上层应用通过标准的I/O 接口完成对硬件设备的操作,向下提供对实际硬件设备的底层设备驱动程序。其软件架构如图1所示。

由图1可知,串口设备驱动由两部分组成,一部分为对ttyDrv进行封装,将串行设备安装到标准的I/O系统中,提供对外的接口;另一部分为串行设备驱动程序,提供对硬件设备的基本操作。

虚拟设备ttyDrv管理着I/O系统和真实驱动程序之间的通信。在I/O系统方面,虚拟设备ttyDrv作为一个字符型设备存在,它将自身的入口点函数挂在I/O系统上,创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O系统中时,I/O系统会调用ttyDrv相应的函数响应请求。同时,ttyDrv管理了缓冲区的互斥和任务的同步操作。另一方面,ttyDrv负责与实际的设备驱动程序交换信息。通过设备驱动程序提供的回调函数及必要的数据结构,ttyDrv将系统的I/O请求作相应的处理后,传递给设备驱动程序,由设备驱动程序完成实际的I/O操作。

     驱动初始化

串口设备的初始化xxDevInit流程如图2。

设备驱动的初始化过程首先调用系统函数ttyDrv(),该函数通过调用iosDrvInstall()将ttyOpen()、ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统驱动函数表中,供I/O系统调用。

接着根据用户入参对串口芯片寄存器进行初始化,安装驱动函数指针。

最后调用系统函数ttyDevCreate()创建ttyDrv设备。该函数初始化设备描述符,调用tyDevInit()函数初始化tyLib、初始化select功能、创建信号量和输入输出缓冲区,调用iosDevAdd()函数将设备添加到设备列表中并将设备置为中断模式。

驱动模块初始化成功后,应用程序就可以用标准的I/O函数read()和write()收发数据了。

RS-485通信协议

    485通信帧格式

表 1   485通信帧格式

目的地址

源地址

长度

控制

帧净荷数据

CRC检验

1Byte

1Byte

1Byte

2Bytes

由长度字节确定,≤255Bytes

2Bytes

长度字段不包含控制字段、检验字段。校验字段使用CCITT的CRC16的校验方法。校验字段默认是加上的,只有在发送方的CPU负荷比较大时,并且能够保证本帧出现的错误不会对系统产生潜在的和现实的影响,或者保证影响在可以控制在一定范围内并且可以忍受时,才考虑取消校验字段。当接收方接收到帧的总长度减去长度字段值与帧头的长度之和,得到的结果为2时,表明发送方附带了校验和。

    485数据链路层帧

表 2  485链路层帧格式

头标志(0x7E)

485通信帧

尾标志(0x7E)

1Byte

最大不超过485通信帧的长度(不包括字节拆分的添加字符)

2Bytes

头标志是任意个数的连续的字符0x7E,尾标志也是任意个数的连续的字符0x7E。预定头标志为1Byte,尾标志为2Bytes,在发送方的CPU认为发送完毕最后一个尾标志字符时,保证第一个尾标志字符能够完全到达目的设备。发送方除头标志或尾标志之外,不允许出现0X7E,若遇到0X7E,则拆分成0X7D,0X5E;若出现0X7D,则拆分成0X7D,0X5D传送。

串行通信应用程序设计

   初始化配置

  • 创建一个51200Bytes的接收环形缓冲区,用来存放剩余的或不成帧的数据:g_tRecvRingId = rngCreate(51200);
  • 串口设备描述符为 “myCom”,打开串口并创建设备读写描述符:

g_sdwChannelFD = open(“myCom”, O_RDWR, 0);

  • 设置波特率:ioctl(g_sdwChannelFD, FIOBAUDRATE, g_RS485LinkCB[i].sdwBaudRate);
  • 清空接收、发送缓存:ioctl(g_sdwChannelFD, FIOFLUSH,0);
  • 工作模式设置:ioctl(g_sdwChannelFD, FIOSETOPTIONS, OPT_RAW);

     通信发送过程

发送之前,发送方需要按照双方约定的485通信帧格式将消息组帧,并按照约定数据链路传输协议组成485的数据链路帧。接下来就是如何发送数据包了。

在RS-485通信中,发送过程主要采取了总线仲裁机制:

在向485总线写数据时,主设备先写一字节的地址请求,所有的从设备均会收到,只有地址与之相等的从设备端口打开,其他设备全部关闭。这样,主设备与从设备之间的通信就是点对点的。

每一个从设备均有一根请求线与主设备相连,若从设备需要与主设备通信时,先通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发送中断,释放总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。

RS-485通信发送流程图如图3所示。

    通信接收过程

对于串口通信,仍然要关心数据接收的实时性,因此采用中断方式,利用VxWorks 提供的select 函数的事件触发机制,将读串口的任务阻塞使其一直等待数据,当有数据来到的时候该任务会立刻自动响应,提高系统的实时性,调用read( )接收数据并存入先前创建的接收环形缓冲区g_tRecvRingId中直至缓冲区g_tRecvRingId满或接收完链路上的数据,接下来就是根据通信协议来处理数据包――解帧处理过程。

接收方判断开始485通信帧的条件是,设备不报告接收错误的情况下,接收到0x7E字符之后的第一个非0x7E的字符。判断帧结束的条件是,帧接收已经开始,遇到第一个尾标志字符。在两个0X7E间若收到0X7D,则丢弃,并将其后的一个字节数据与0X20异或。

当链路层的通信帧接收已经开始的情况下,设备报告字符接收错误,此时应当丢弃本帧,结束帧的接收,重新开始搜索下一帧。

长度字段后面的字节个数不等于长度字段指示,并且也不等于长度字段加2时,指示长度错误,作无效帧。帧长度小于帧头的长度的帧视为无效帧。当接收的字符个数超过最大的485通信帧字节数——262时,也认为接收错误,重新开始搜索头标志,检出下一帧数据。

超时保护:如果接收收方在接收一帧数据时,在未接收完一帧时,超过20ms(2个Ticks)仍未有数据到达,则认为本帧数据接收结束,并将其丢弃。

在允许进行校验的情况下,对接收到的帧进行CRC校验。如果校验字段与帧的校验结果不符,认为帧出错,通常作丢弃处理。

帧头中,目的地址与接收单元不匹配时,丢弃该帧。

 

系统分类: 通信网络   |    用户分类:    |    来源: 无分类

评论(0) | 阅读(3108)
发表于:2007-10-5 15:36:55
标签:蜂鸣器的选用  

0

如何选用蜂鸣器

蜂鳴器的種類規格繁多,需先知道幾個參數 ( 電壓,電流,驅動方式,尺寸,連接/固定方式),當然更重要的是,想要獲的聲音 (音壓大小,頻率高低),

工作電壓: 電磁式的蜂鳴器, 1.524V, 壓電式的從3V220V都是可行的,但一般壓電的還是建議有9V以上的電壓,以獲得較大的聲音.

消耗電流: 電磁式的依電壓的不同,從幾十到上百毫安培都有,壓電式的就省電的多,幾毫安培就可以正常的動作, 且在蜂鳴器啟動時,瞬間需消耗約三倍的電流,

驅動方式: 二種蜂鳴器都有自激式的,只要接上直流電(DC)即可發聲,因為已內建了驅動線路在蜂鳴器中了,因為動作原理的不同,電磁式蜂鳴器要用1/2方波來驅動,壓電的用方波,才能有較好的聲音輸出.

尺寸: 蜂鳴器的尺寸會影響到音量的大小,頻率的高低,電磁式的最小從7mm到最大的25mm,壓電式的從12mm50mm或更大都有.

連接方式: 一般常見的有插針(DIP), 焊線(Wire), 貼片(SMD), 壓電式大顆的還有鎖螺絲的方式.

音壓: 蜂鳴器常以10cm的距離做為測試的標準,距離增加一倍,大概會衰減6dB, 反之距離縮短一倍則會增加6dB,電磁式蜂鳴器大約能達到85dB / 10cm的水準,壓電式的就可以做的很大聲,常見的警報器,大都是以壓電蜂鳴器製成.

以苙翔的料號, 用量最大的電磁式蜂鳴器AC-1205G為例

A = AATC

C = 一體式,底部有封環氧樹脂的蜂鳴器, 另有AS = 分體式,底部沒封膠,一般頻率為2000左右,不可過錫爐. AX表內含驅動線路(自激式).ADSMD.

12 = 直徑,單位是mm, 還有6.7, 9.0, 9.6, 14, 16, 25mm,並有多種高度選擇

05 = 額定工作電壓, 還有1.5, 3.0, 3.5, 5, 6, 9, 12, 24V.

G = 直流阻抗

壓電式的以AZ-1440S-P為例

A = AATC 苙翔科技

Z = Piezo 壓電式蜂鳴器

14 = 直徑, 10, 12, 14, 16, 17,.....50規格非常多.

40 = 額定的頻率, 404KHz,

S = Self drive 自激式,內含線路的, E 表他激, 外部驅動.

P = Pin type, 還有W- Wire, APD-SMD

 

系统分类: 消费电子   |    用户分类:    |    来源: 整理

评论(0) | 阅读(924)
发表于:2007-10-4 20:22:55
标签:电子秤原理  

0

电子秤原理

一.名词解释

    利用作用于物体上的重力来测量该物体质量(重量)的计量仪器,装有电子装置的秤为电子秤。

二.工作原理

    秤重物品经由装在机构上的重量传感器,将重力转换为电压或电流的模拟讯号,经放大及滤波处理后由A/D处理器转换为数字讯号,数字讯号由中央处理器(CPU)运算处理,而周边所须要的功能及各种接口电路也和CPU连接应用,最后由显示屏幕以数字方式显示。

示意图:

三.主要组成组件

1.重传感 器 2.放大器电路 3.滤波器电路 4.模拟数字转换器 5.中央处理器 6.电源供应电路 7.按键 8.外壳 9.机构 10.秤盘

系统分类: 模拟技术   |    用户分类:    |    来源: 整理

评论(0) | 阅读(1047)
发表于:2007-10-4 13:44:40
标签:无标签

0

爱与喜欢

喜欢和爱的区别就在于
        当你站在你爱的人面前,你的心跳会加速
  当你与你爱的人四目交投,你会害羞
  但当你站在你喜欢的人面前,你只感到开心
  但当你与你喜欢的人四目交投,你只会微笑.
  
  当你与你爱的人对话,你觉得难以启齿
  当你爱的人哭,你会陪她一起哭
  但当你和你喜欢的人对话,你可以畅所欲言
  但当你喜欢的人哭,你会技巧的安慰她.
  
  当你不想再爱一个人,你要闭上眼睛并忍着泪水
  当你不想再喜欢一个人,你只要掩住双耳!
  
  喜欢,是一种心情
  爱,是一种感情
  喜欢,是一种直觉
  爱,是一种感觉
  喜欢,可以停止
  爱,没有休止
  喜欢一个人,特别自然
  爱一个人,特别坦然
  喜欢一个人,有时候盼和他在一起
  爱一个人,有时候怕和他在一起
  喜欢一个人,不停的和他争执
  爱一个人,不停的为他付出
  喜欢一个人,希望他可以随时找到自己
  爱一个人,希望可以随时找到他
  喜欢一个人,总是为他而笑
  爱一个人,总是为他而哭
  喜欢,是执着
  爱,是值得
  喜欢就是喜欢,很简单
  爱就是爱,很复杂
  喜欢你,却不一定爱你
  爱你,就一定很喜欢你
  其实,喜欢和爱仅一步之遥
  但,想要迈这一步
  就看你
  是喜欢迈这一步
  还是爱迈这一步

系统分类: 自由话题   |    用户分类:    |    来源: 整理

评论(0) | 阅读(221)
总共 , 当前 /