0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微控制器的电容控制面板PCB设计有哪些需要注意

PCB线路板打样 来源:ct 2019-09-10 17:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在之前的项目文章中,我介绍了使用TI MSP430FR2633定制电容式触摸接口的基本电路设计注意事项。在本文中,我们将仔细研究PCB设计考虑因素和器件编程

Myinterface由两块电路板组成:一块四层电路板,内置微控制器和支持电路,以及带有电容式触摸屏和指示灯LED的双层电路板。

MSP430FR2633的PCB布局注意事项

主电路板是具有内部接地平面和阴影电源平面的四层叠层。阴影线有助于减少可能对电容式触摸感应性能产生负面影响的寄生电容。

ESD二极管USB连接器外,元件安装在电路板的顶部。 USB连接器安装在电路板的底部,以避免微型USB连接器和CP2102N之间的差分对线路交叉,并利用电路板和外壳之间未使用的空间。

我订购此板的制造公司,MacroFab,为单面和双面板充电。

上面显示的是四个电路板层的自上而下的图像。

I关注电容式触摸引脚的迹线与下面的层之间的电容耦合。为了最大限度地减小电容效应,我使用了5密耳的连接和一个阴影填充,固定的走线宽度和不同的层间空间宽度。

这不是必须这样做,但我想要抵消阴影填充不同的图层。不幸的是,这不是我的PCB设计程序(Diptrace)的一个功能,并且手动移动阴影填充提供了不一致的结果。在附近的电源层上使用带阴影填充的最小迹线宽度电容式触摸感应线,意味着降低电容式触摸引脚上的电容。

电路板的第二层(Vcc)可以看到红色。阴影填充和细线跟踪用于减少电容耦合的影响。

阴影填充连接到与实心填充相同的网。我在实心填充中添加了额外的点,以创建第二个阴影铜区域填充的负空间。使用Diptrace,定义正负区域可防止实心填充填充阴影区域。

LED注意事项

电容式控制面板的底部

用于驱动LED的信号状态的变化可以被微控制器检测为电容的变化。为避免意外激活,TI建议将数字和电容信号线分开至少4 mm。此外,当在不同的层上交叉时,它们应该以直角交叉。

我选择使用反向安装,而不是通过将LED放置在与按钮和旋转轮相同的层上的过孔来布线。 LED通过电路板上的孔发光。

CP2102N编程

CP2102N使用Silicon LabsSimplicity Studio Express配置工具进行编程。两个GPIO引脚用于指示MSP430FR2633和CP2102N之间的UART数据传输。这些LED与实际数据传输位于不同的网络上,LED显示为发送的字节和数据串,而不是单个数据位。

请参阅我的另一篇文章,了解如何克服CP2102N的编程难度。

MSP430FR2633编程

正如我在第一篇文章中提到的,CapTIvate Design Center是一个图形化软件工具,可以生成运行该项目所需的大部分代码。它确实需要知道哪些按钮和滑块存在以及它们连接到哪些引脚。该软件生成运行微控制器和电容式触摸界面所需的所有C源代码,头文件和库。

微控制器的电容控制面板PCB设计有哪些需要注意

微控制器的电容控制面板PCB设计有哪些需要注意

下载代码

不幸的是,此时软件还不知道我已将指示灯LED添加到我的主板上。所以我很遗憾不能简单地构建代码并将其上传到微控制器。我首先需要告诉MSP430FR2633它有一些LED连接,然后想出一种方法来打开和关闭它们。

我选择通过bitmasking来做到这一点。我在控制面板的左上角,左下角,中间角,右上角和右下角有五个LED,我想创建三种方式来控制它们 - 开,关和切换。

为MSP执行此操作的方法是将LED视为内存中特定位置的位。写1并且LED亮;写一个0然后它会关闭;反转该值,您将切换LED状态。引脚映射到各种寄存器中的位。这些位位置由微芯片上的引脚排列决定。例如,GPIO引脚P2.3位于寄存器2的第3位。要打开和关闭LED,只需操作寄存器2的第3位。寄存器位置P2在另一个特定于微控制器的文件中定义。

幸运的是,基本结构包含在Code Composer Studio中MSP430FR2633的示例草图中。我所要做的只是为我的LED复制和修改它。

LED_UL代表控制面板左上角的LED。


#defineLED_UL_POUT(P2OUT)
#defineLED_UL_PDIR(P2DIR)
#defineLED_UL_PIN(BIT3)
#defineLED_UL_ON(LED_UL_POUT|=LED_UL_PIN)
#defineLED_UL_OFF(LED_UL_POUT&=~LED_UL_PIN)
#defineLED_UL_TOGGLE(LED_UL_POUT^=LED_UL_PIN)

在main()函数中,需要插入一个小命令来禁用GPIO引脚高阻模式。如果您正在为自己的项目进行操作,请在看门狗定时器停止或LED永不点亮后插入命令。


Voidmain(void){
WDTCTL=WDTPW|WDTHOLD;//Stopwatchdogtimer
PM5CTL0&=~LOCKLPM5;//DisablePower-OnHigh-Impedancemode

}

最后,我需要编写一个使用电容式触摸界面传感器位置点亮LED的功能。


voidmy_slider_callback(tSensor*pSensor)
{
//FIRSTCHECKIFTHEREISVALIDTOUCH
if(pSensor->bSensorTouch==true)
{
//THENGETTHECURRENTTOUCHPOSITIONONTHESLIDER/WHEEL
position=(uint16_t)((tSliderSensorParams*)pSensor->pSensorParams)->SliderPosition.ui16Natural;
//Eventhoughitisstoringthedataina16-bitinteger,thenumbersneverexceed8bitsinlength
//Usethepositiontogenerateeightcases--illuminateoneoffourcorners,orilluminateoneoffoursides.
//Maskbits5:7thenshiftthemtobecomebits0:2
//case8=(position&0x00E0)>>5;
//addanintegeroffsetiflightsarerotatedfromwheelpositions
case8=((position&0x00E0)>>5)+3)%7
switch(case8)
{
case0://LightUpperLeftCorner
LED_UL_ON;LED_UR_OFF;LED_BR_OFF;LED_BL_OFF;
break;
case1://LightTopSide
LED_UL_ON;LED_UR_ON;LED_BR_OFF;LED_BL_OFF;
break;
case2://LightUpperRightCorner
LED_UL_OFF;LED_UR_ON;LED_BR_OFF;LED_BL_OFF;
break;
case3://LightRightSide
LED_UL_OFF;LED_UR_ON;LED_BR_ON;LED_BL_OFF;
break;
case4://LightBottomRightCorner
LED_UL_OFF;LED_UR_OFF;LED_BR_ON;LED_BL_OFF;
break;
case5://LightBottomSide
LED_UL_OFF;LED_UR_OFF;LED_BR_ON;LED_BL_ON;
break;
case6://LightBottomLeftCorner
LED_UL_OFF;LED_UR_OFF;LED_BR_OFF;LED_BL_ON;
break;
case7://LightLeftSide
LED_UL_ON;LED_UR_OFF;LED_BR_OFF;LED_BL_ON;
break;
Default://TurncornerlightsoffandtogglecenterLED
LED_UL_OFF;LED_UR_OFF;LED_BR_OFF;LED_BL_OFF;LED_C_TOGGLE;
break;
}
}
}

JTAG故障排除

在完美的世界中,我可以立即上传代码并开始试验。但这不是一种简单的方法。

我最初尝试对电路板进行编程失败,并显示一条错误消息,表明没有连接任何设备。我开始使用示波器解决问题并看到以下JTAG事务。

微控制器的电容控制面板PCB设计有哪些需要注意

上面显示的是一个无效的JTAG事务。测试,TMS,TCK,TDO,TDI和nRST状态在示波器中基于1.51 V阈值定义为低/高。

对于那些对JTAG编程不熟悉的人,根本不是你期望JTAG事务的样子。理想情况下,有一个入口序列,然后是TDO和TDI线上的时钟信号和数据转换的快速转换。

出于好奇,我决定在我的调查中添加一个普通的模拟探头,看看是什么信号正在更详细地进行。模拟探针迹线如下所示为黄色。

微控制器的电容控制面板PCB设计有哪些需要注意

上面以白色显示的是MSP430FR2633的完整JTAG事务。黄色迹线是正常的模拟测量,它复制了TDI信号线。

现在,我有一些黄色探针迹线的其他有趣信息。信号并不总是处于逻辑高或逻辑低状态。还有一些东西正在与信号线相互作用,并保持一个干扰编程信号的~2 V电位差。

同时,我意识到我选择用于USB的两个引脚 - 串行接口(UCA0TXD,UCA0RXD)分别成为TCK VREF +和TMS的两倍。因此,当连接到JTAG接口时,绝对没有办法测试USB到串行接口,并且CP2102N很可能主动干扰JTAG编程。

不幸的是,我需要重新设计电路板,将CP2102N的Tx/Rx引脚重新定位到UCA1RXD和UCA1TXD线。

微控制器的电容控制面板PCB设计有哪些需要注意

MSP430FR2633更好的JTAG交易

收到我的新电路板并挂钩这取决于我的JTAG程序员,我有最后一个障碍。我很沮丧地仍然无法编程,直到我对程序员进行了固件升级。

但是,毕竟,我终于有一个项目可以让我更好地理解和编程电容式环形滑块。

德州仪器(TI)MSP430用户指南演示了多种访问电容式滑块和按钮的方法,而这只是其中之一。但是,这种方法可以帮助您在下一个设计中使用电容式触摸滑块开始自己尝试。我希望你喜欢它。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4391

    文章

    23746

    浏览量

    420838
  • 电路板
    +关注

    关注

    140

    文章

    5255

    浏览量

    106503
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    44391
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在筋膜枪上应用的MCU微控制器方案

    筋膜枪是现在很多人必不可少的放松肌肉的健身工具,而实现筋膜枪的高效、稳定、安全运行,则需要内部搭载的MCU微控制器来负责控制电机运转、保护电路安全并实现各种智能功能。英尚微电子的筋膜枪方案采用CH32V007 MCU
    的头像 发表于 12-09 16:39 131次阅读
    在筋膜枪上应用的MCU<b class='flag-5'>微控制器</b>方案

    选择微控制器MCU几个步骤

    以下10个简单步骤可确保做出正确的选择。 步骤1:制作硬件接口清单 利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。 第一种是通信接口。 系统中一
    发表于 11-26 07:09

    案例分析:无功补偿控制器电容投满功率因数还不达标?

    无功补偿控制器电容投满功率因数还不达标?对电容进行更换,重新上电过后,只需要3个电容,就能达到0.97的功率因数,这个时候再去看该
    的头像 发表于 10-31 11:20 141次阅读
    案例分析:无功补偿<b class='flag-5'>控制器</b><b class='flag-5'>电容</b>投满功率因数还不达标?

    二代智能健身器材控制面板,5寸高清彩屏,全新界面,LED显示面板安装尺寸图

    二代智能健身器材控制面板,5寸高清彩屏,全新界面,呈现出完美的智能科技感,屏幕显示运动时间、运动次数、运动频率、运动里程、消耗热能卡路里等,功能齐全。当动感的音乐跳动起来,必将唤醒身体里沉睡的运动细胞!来吧,一起运动起来……!
    发表于 10-22 10:13 0次下载

    二代智能健身器材控制面板 5寸高清彩屏 全新界面#电力消防#健身器材#智能家居#智能交通#工业控制

    控制面板
    深圳市乾思迪电子科技有限公司
    发布于 :2025年10月22日 10:04:30

    人脸和手势识别模组 用BW21-CBV-Kit设计洗衣机远程控制面板

    以下作品由安信可社区用户 无垠的广袤 制作 本文介绍了安信可 BW21-CBV-Kit 开发板结合扩展板,实现了基于 HTTP 协议的洗衣机网页控制面板,可模拟远程控制洗衣机的运行、暂停和停止状态
    的头像 发表于 07-15 14:34 486次阅读
    人脸和手势识别模组 用BW21-CBV-Kit设计洗衣机远程<b class='flag-5'>控制面板</b>

    DS4830A光学微控制器技术手册

    DS4830A是一款低功耗16位微控制器,具有特殊的外设集,支持需要对许多模拟信号进行高分辨率转换、对这些信号进行数字信号处理(DSP)、与外部主机进行高速数据通信以及超低功耗的光学应用。支持多种光收发
    的头像 发表于 05-09 17:12 641次阅读
    DS4830A光学<b class='flag-5'>微控制器</b>技术手册

    沐渥氮气柜控制面板湿度与温度报警功能详述

    氮气柜控制面板的湿度与温度报警功能主要用于确保柜内环境稳定,防止敏感物料因环境波动而受损。低湿报警功能:当柜内湿度低于设定下限时触发报警。某些物料需要维持最低湿度,湿度过低可能导致干燥失效、静电积累
    的头像 发表于 04-25 09:34 626次阅读
    沐渥氮气柜<b class='flag-5'>控制面板</b>湿度与温度报警功能详述

    家用电器开发中微控制器的选型要点

    ROHM提供融入自有低功耗技术优势的丰富的低功耗微控制器产品。通过供应微控制器产品,为从事电池供电的小型设备、家用电器、工业设备、社会基础设施、车载设备等各种系统开发的微控制器用户提供支持。本文以
    的头像 发表于 04-24 10:26 931次阅读
    家用电器开发中<b class='flag-5'>微控制器</b>的选型要点

    开关电源的输入电容PCB设计技巧

    开关管提供瞬态电流,减少电压波动。将输入电容靠近功率开关(MOSFET或IC)和输入引脚,可以最大程度降低寄生电感引起的电压尖峰。 做法:将输入电容紧贴Buck控制器或功率开关的VIN和GND引脚
    发表于 04-07 11:06

    一文认识ARM微控制器及瑞萨RA系列MCU

    俗称单片机,如果有学过微机原理就会很熟悉这个概念了。而ARM微控制器,顾名思义,就是基于ARM的微控制器,或者说搭载了ARM处理内核的微控制器
    的头像 发表于 03-24 09:17 2301次阅读
    一文认识ARM<b class='flag-5'>微控制器</b>及瑞萨RA系列MCU

    图形显示控制芯片RA6809可适用于哪些应用场景

    RA6809作为一款‌彩色TFT-LCD图形显示控制器芯片‌,最高支持1366*2048分辨率,主要面向需要‌图形化显示与交互控制‌的嵌入式设备领域,其适用产品范围包括以下方向: ‌1. 工业
    发表于 03-21 11:08

    变频控制回路布线需要注意什么

    变频控制回路布线时需要注意的几个方面,以确保布线的专业性和稳定性。 一、避免干扰:主电路与控制回路分离 变频的主电路(动力线)通常包含高
    的头像 发表于 03-11 15:33 901次阅读
    变频<b class='flag-5'>器</b><b class='flag-5'>控制</b>回路布线<b class='flag-5'>需要注意</b>什么

    新唐科技微控制器在触控应用方面的优势

    随着物联网 (IoT) 和智能家居应用的蓬勃发展,触控按键技术已成为人机互动界面的关键。搭载电容式触控按键技术的新唐科技NuMicro 微控制器系列,提供防水、抗噪及高灵敏度的触控体验,为各类
    的头像 发表于 02-27 15:52 1050次阅读

    电机控制器的安装注意事项

    安装注意事项之前,首先需要了解电机控制器的基本知识。电机控制器通常包括以下几个部分: 控制单元 :负责接收指令并
    的头像 发表于 01-22 09:40 1290次阅读