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
    +关注

    关注

    4318

    文章

    23027

    浏览量

    396450
  • 电路板
    +关注

    关注

    140

    文章

    4912

    浏览量

    97464
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42990
收藏 人收藏

    评论

    相关推荐

    根据逻辑和转换用例优化交流驱动控制面板系统

    电子发烧友网站提供《根据逻辑和转换用例优化交流驱动控制面板系统.pdf》资料免费下载
    发表于 09-21 10:23 0次下载
    根据逻辑和转换用例优化交流驱动<b class='flag-5'>控制面板</b>系统

    松下KAIROS控制面板选项的使用教程与技巧

    本期,来自松下的高级销售工程师Keith Vidger将为大家分享松下KAIROS控制面板选项的使用教程与技巧。
    的头像 发表于 09-19 10:17 464次阅读

    松下KAIROS控制面板的使用体验

    本期,来自松下的高级销售专员Keith Vidger将为大家分享松下KAIROS控制面板的使用体验与实际操作中的重要性。
    的头像 发表于 09-19 10:14 409次阅读

    16键CAN总线控制面板 按键面板 操作面板 硕博电子 #CAN总线 #按键面板 #控制面板

    控制面板
    长沙硕博电子科技股份有限公司
    发布于 :2024年09月02日 10:51:40

    微软确认控制面板即将被弃用

    8月22日,微软正式通过一份新的支持文档揭示了Windows系统中系统配置工具的未来走向,明确宣告控制面板(Control Panel)——这一承载了Windows操作系统多年历史、作为访问系统核心
    的头像 发表于 08-22 14:27 804次阅读

    CYUSB3014未显示在控制面板的设备树中,为什么?

    我们在电路板上使用的是 CYUSB3014。 当我尝试将 USB 连接到电脑时,它出现了不可预知的行为。 有时它被检测为 Cypress FX3,有时被识别为未知设备,有时甚至不出现在设备管理中。 即使检测到了,也不会显示在控制面板中。
    发表于 07-04 06:41

    CY8CKIT-149 PSoC 4100S Plus如何在桥接控制面板上跟踪CSD原始数据?

    目前,我正在使用 CY8CKIT-149 PSoC 4100S Plus。 使用 CE220891_CapSense_with_Breathing_LED01 设计。 我想跟踪 brdige 控制面板上每个传感的 RawData。 哪个 CapSense API 可以获
    发表于 06-21 09:49

    应用PLC需要注意哪些问题

    PLC(可编程逻辑控制器)作为现代工业控制的核心设备,其应用的广泛性和重要性不言而喻。然而,在应用PLC的过程中,也需要注意一系列问题,以确保PLC系统的稳定运行和高效控制。本文将结合
    的头像 发表于 06-17 11:29 517次阅读

    变频控制面板的按键功能

    变频作为一种电力控制设备,在现代工业自动化中扮演着至关重要的角色。它通过改变电机工作电源频率的方式来控制交流电动机的转速,进而实现节能、调速的目的。而变频
    的头像 发表于 06-15 15:24 2893次阅读

    使用电容降压时都需要注意哪些?

    使用电容降压时都需要注意哪些? 电容降压是一种常见且广泛应用的电路降压方式,它可以将高电压降低至设定的较低电压,并且具有稳定、简便、高效、可靠等优点。然而,在使用电容降压时,我们
    的头像 发表于 02-02 15:27 538次阅读

    电容式传感微控制器 CTSU电容触摸介绍指南

    电子发烧友网站提供《电容式传感微控制器 CTSU电容触摸介绍指南.pdf》资料免费下载
    发表于 01-03 10:05 1次下载
    <b class='flag-5'>电容</b>式传感<b class='flag-5'>器</b><b class='flag-5'>微控制器</b> CTSU<b class='flag-5'>电容</b>触摸介绍指南

    如何设计节省空间、高效率和高安全性的工业控制面板

    )。尽管面临这些困难,但设计人员必须设计出在安全性、可靠性和符合标准方面完全达到要求的面板。 为了实现这些目标,设计人员需要创新型解决方案,以简化控制面板的开发、安装和使用。具体来说,他们需要
    的头像 发表于 01-01 14:03 902次阅读
    如何设计节省空间、高效率和高安全性的工业<b class='flag-5'>控制面板</b>

    设计软板pcb需要注意哪些事项

    设计软板pcb需要注意哪些事项
    的头像 发表于 12-19 10:06 646次阅读

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 540次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    通过KNX使家庭和楼宇自动化的控制面板设计更简单

    通过KNX使家庭和楼宇自动化的控制面板设计更简单
    的头像 发表于 12-04 15:03 810次阅读
    通过KNX使家庭和楼宇自动化的<b class='flag-5'>控制面板</b>设计更简单