历史上的今天
返回首页

历史上的今天

今天是:2025年03月04日(星期二)

正在发生

2020年03月04日 | 基于PIC单片机的测试评估板设计

2020-03-04 来源:eefocus

  近年来,由于数据通信需求的推动,加上半导体、计算机等相关电子技术领域的快速发展,短距离无线与移动通信技术也经历了一个快速发展的阶段。短距离无线通信通常指的是l00m到200m以内的通信。


  它被广泛应用于无线数据采集、无线水表、煤气表、电力表抄表、工业遥控、遥测、工业数据采集、楼宇自动化、安防、机房设备无线监控、家庭自动化数据网络组网等领域。


  美国SILICon Laboratories公司作为专业的无线芯片开发和生产商,它的IAI系列无线芯片具有集成度高,外围元件少,功耗低,性能稳定可靠,芯片内部集成了FSK无线收发必需的全部功能模块,包括多边带PLL合成器、PA、LNA、混频器、基带滤波器、中频放大器、信号强度指示RSSI、数据质量侦测DQD、电池电压侦测、AFC和微控制器等,非常适合用于短距离无线通讯产品。本文介绍了贝能科技采用IA4421芯片开发的两种无线通讯模块PHY和EV-IA4421-433M-3(如图1,图2)。PHY模块是不带MCU而向外提供一个SPI接口;EV-IA4421模块是带MCU并向外提供一个串口。这样可以方便用户使用和开发。


  针对这两种模块,我们设计了一个适用这两种模块的测试评估板。该 测试板 可以对这两个模块进行设置(主要对IAI4421寄存器设置),这样方便客户评估,测试IA系列产品的的性能。


  基本概述:
  该测试板的组成采用PIC单片机PIC16F777作为主控芯片;一个LCD1602作为显示器件;4个轻触按键作为作为用户输入;一个可以连接电脑的串口;还有连接两通讯模块的接口。用户可以通过按键和LCD可以很直观地对IAI4421芯片寄存器、通讯速率等进行设置,还可以通过LCD监控数据传输过程的正确性和完整性。


  本文主要介绍该测试板的一些主要功能和原理以及其使用的方法,以便大家对其有一个初步的了解。


  主要功能:
  可设置4位的发射地址码:用户可以通过菜单设置4位的地址即0~F,并与从机地址设置对应,这样就可以不受其他模块的干扰,可以多个模块同时工作。


  可设置模块的工作频段:由于IAI系列芯片支持3频段分别为433MHz、868MHZ、915MHZ,通过设置不同的频段可以适应使用不同频段的硬件。


  可设置模块的发送速率:芯片支持不同的发射速率,用户可以根据需要进行调整;可设置发送数据的时间间隔和发送的次数;


  可以设置串口波特率(与硬件连接相对应);


  可显示接收数据的内容和接收数据的次数,当前通讯速率等信息;硬件组成框架:
  

  各部分硬件接口:
  LCD1602接口(图3)
  LCD1602采用8数据线接口(data0-data7),有利于快速刷新需要显示的数据,RS、RW、E三线控制。
  

图3 LCD电路接口


  串口电路(图4)
  串口电路采用MAX232作为电平转换芯片,与电脑连接,接收电脑 的输入命令。TX串行数据输出(无线接收到的 数据),CRX串行数据输入(要发送的数据)。
 

图4 串口电路接口


  EV-IA4421-433M-3模块接口电路(图5)
  EV-IA4421-433M-3是已经带有一个PIC16F690的模块。VCC使用5V电源供电;TX、RS作为一个标准的波特率可选的串口作为与测试板之间的通讯,所有对模块的操作都使用这个串口完成;/PD待机控制,/PD=0时,模块进入待机状态,/PD=1,模块正常工作;RSSI无线信号强度输出,输出电压和信号强度成正比,是一个模拟信号,测试板通过AD转换对其捕捉。

图5 EV-IA4421接口电路


  PHY模块接口电路(图6)
  PHY只需使用5个I/O口即可工作,它采用SPI兼容的控制接口作为数据通讯接口。我们测试板也正是使用这种方式与PHY模块进行谅解的。各个接口功能如下:SCK:SPI串口时钟输入;SDI:SPI串口数据输入;NSEL:SPI片选输入(低电平有效);SDO:SPI串口数据输出;NIRQ:中断请求输出(低电平有效)。
  

  四个轻触按键作为用户的输入,用户按键的输入判断是采用普通的I/O方式。具体每个按键定义为:UP键用于上移菜单;DOWN键用于下移菜 单;ENTER键用于确认选择;SEND用于启动发送数据。


  电源部分:
  考虑到使用的方便性,再电源供电上采用了两种供电方式:一种直流9V~12V 电源适配器的输入;另一种是用9V的纽扣电池供电。用户可采用其中的一种。


  软件组成框架:
  软件流程如图8所示,软件系统在MCU中执行,分为系统初始化、主循环流程与中断服务程序。下面对其作一个简单的介绍:


  MCU初始化函数,主要是对MCU定时器设置、串口、中断设置和各个端口的输入输出设置等等;按键事件管理函数,它定时检测按键板上的按键输入,设置和保存相应的标志位,并把按键对应信息映射成相应的驱动事件;主循环函数是整个软件系统的一个核心部分,各种事件的触发和各个用户接口管理都由这个函数完成,每个子程序管理着不同功能。
 

图8 软件流程


  主循环是软件的基本控制部分,它是一个无限时间的循环,当中包含了许多子程序,诸 如:Check if it’s time to execute events(定时器时间事件处理)、Mode Handler(模式识别处理)、Key SCANHandler(电源管理)、OSD Event Handler(菜单事件处理——当中也包含了按键处理)、Debug Handler(调试处理)。通过这一系列的管理函数,不断的检测事件的发生并执行相应的功能操作。


  小结
  本文对DEMO板的功能、硬件和软件作了一个简单的介绍,该demo板主要是为贝能公司开发的PHY和EV-IA4421-433M无线模块提供一个方便的使用和测试平台,以便用户可以对其作评估,使其更快地应用于产品当中。

推荐阅读

史海拾趣

Harbour Industries公司的发展小趣事

背景:随着全球化的深入发展,电子行业也迎来了国际化的浪潮。Handok意识到,要想在激烈的国际竞争中立于不败之地,必须加强与国际市场的联系和合作。

发展:Handok积极寻求与国际知名电子企业的合作机会,通过技术引进、联合研发等方式不断提升自身的技术实力和产品品质。同时,公司还加大了对国际市场的开拓力度,通过参加国际展会、设立海外分支机构等方式扩大品牌影响力。

影响:国际合作的成功为Handok带来了更多的发展机遇和市场空间,公司的国际知名度和竞争力显著提升。

Eagle-Picher公司的发展小趣事

然而,Eagle-Picher的发展并非一帆风顺。1991年9月16日,位于密苏里州乔普林的Eagle-Picher工业公司电子部遭受了一场毁灭性的大火。火灾导致公司的电池生产设备化为灰烬,给公司的业务带来了巨大的打击。然而,Eagle-Picher并没有放弃,而是迅速组织力量进行重建和恢复生产。这一事件虽然给公司带来了短期的困难,但也展现了Eagle-Picher的坚韧和决心。

Hendon Semiconductors公司的发展小趣事

Hendon Semiconductors在能源管理和照明控制领域也有着显著的成就。公司开发了一系列高效、可靠的能源管理解决方案和照明控制产品,广泛应用于智能家居、商业建筑和工业自动化等领域。这些解决方案不仅帮助客户降低了能耗和运营成本,还提高了能源使用效率和环境可持续性。通过不断创新和优化产品设计,Hendon Semiconductors在能源管理和照明控制市场上赢得了广泛的认可。

Frequency Devices公司的发展小趣事

为了进一步扩大市场份额,Frequency Devices公司积极实施国际化战略。公司通过参加国际电子展会、建立海外销售网络、与国际知名企业建立合作关系等方式,不断提升品牌国际影响力。同时,公司还根据不同国家和地区的市场特点,定制化开发符合当地需求的高频电子产品。这些努力使得Frequency Devices公司的产品成功打入多个国际市场,实现了全球化布局。

GTM公司的发展小趣事

为了保证产品质量,Frequency Devices公司建立了完善的质量管理体系。公司引入了先进的生产设备和检测技术,对原材料采购、生产加工、成品检验等各个环节进行严格把控。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持和解决方案。这些措施有效保障了产品的质量和稳定性,赢得了客户的信赖和好评。

Diodes公司的发展小趣事

Diodes公司积极实施全球化战略,不断拓展海外市场。公司在以色列、加利福尼亚、得克萨斯和日本等地设立了制造工厂,形成了覆盖全球的生产和销售网络。这些工厂不仅为Diodes提供了充足的产能支持,也为公司赢得了更多国际客户的青睐。同时,Diodes还积极参加国际展会和交流活动,加强与国际同行的合作与交流,不断提升公司的国际化水平。

问答坊 | AI 解惑

我做的PIC下载调试器ICD2.5,拿出来秀下,相当便宜

PIC烧写调试器ICD2,18F4550+16F877A+USB取电,配进口USB线, 淘宝地址http://auction1.taobao.com/auction/item_detail-0db2-f856961a8480fb64ad9297cf42c260f3.jhtml…

查看全部问答>

ATMEGA8

很奇怪的问题                      我到我朋友那去,写了个简单的循环点灯的程序,编译后烧到芯片里是OK的 然后我把他的设备都拿回去,用我自己电脑上的avr   ...…

查看全部问答>

您正在尝试访问一个早期版本的 SQL Server Compact Edition 数据库。如果是 SQL Server CE 1.0 或 2.0 数据库……

我用vs2005,c#编写了一个简单的数据库操作程序,代码如下:             string strconn = @\"Data Source=\\Northwindoledb.sdf\";             SqlCeConnec ...…

查看全部问答>

关于操作系统中自检问题

本人做了个上电自检的程序,是基于vxworks6.5的, 我把自检函数直接添加在usrconfig.c文件中,usrRoot()函数里,bootrom启动过程中完成了上电自检, 且检测所有硬件(主要是内存和flash)都正常,可是生成操作系统以后(用workbench生成的操作系 ...…

查看全部问答>

HVQFN33是什么封装,ms只有LPC111x有这种封装……

如题,看到了不解。是和某种别的封装兼容吗?…

查看全部问答>

自制硬币收音机

摘要: 我们称这个收音机为三个硬币收音机是因为我们使用了三个硬币作为锚点,连接收音机各个部件,这将使我们的制作过程变得极为简单。在这个收音机中我们使用了一个特殊的10晶体管集成电路,使最后做出的收音机效果非常出 ...  我们称这个 ...…

查看全部问答>

请教STR912KEIL下UCOS移植

楼主:     你好!     买了一个STR912的开发板,发现912的性能还不错,听说又有一个加强版的要出来了,很想把UCOS移上去,请发一个移植模板.谢谢!…

查看全部问答>

串口DMA发送的问题

u8 buf1[100]; //都初始化0 u8 buf2[100]; //都初始化0 u16 rev;   //中断接收计数 串口发送方式: DMA 串口接收方式: 中断 DMA_InitStructure.DMA_PeripheralBaseAddr = USART1_DR_Base; DMA_InitStructure.DMA_MemoryBaseAdd ...…

查看全部问答>

【求助】我用c编程,想给某个引脚定义个名称,比如

我想给P3.1定义为data,然后编程时写data=1;P3.1就输出1,我该如何定义? 我写了 #define P3.1 data 不好使啊???…

查看全部问答>

FPGA设计正弦波

用FPGA设计的正弦波发生器为什么在示波器上的输出频率不受频率控制字的影响?…

查看全部问答>