各种LPC微控制器芯片具有引导模式,该模式接受串行通信并将接收到的程序写入Flash。我想用必须在电路中编程的LPC1114和LPC1114来制作PCB,而PCB上的接口电路最少。是否有用于提供所需信号(GND,RxD,TxD,复位,BootModeEnable)的标准连接器?
各种LPC微控制器芯片具有引导模式,该模式接受串行通信并将接收到的程序写入Flash。我想用必须在电路中编程的LPC1114和LPC1114来制作PCB,而PCB上的接口电路最少。是否有用于提供所需信号(GND,RxD,TxD,复位,BootModeEnable)的标准连接器?
Answers:
我使用Sparkfun的USB转UART板。我带出UART0,复位并isp到头。我使用跳线将reset和isp接地,然后使用FlashMagic。仅当我也通过USB为设备供电时,这才似乎正常工作,因此这种情况很普遍。
Sparkfun的董事会:
如果将连接器设置为与低压FTDI USB串行电缆的插头版本兼容,则可以选择不需要与定制电缆的制造商签约。
您可以将启动模式从状态行下驱使,并通过一个电容将复位耦合到该模式(想一想,当我用ST部件进行此操作时,我可能将晶体管用作逆变器)。然后取消选择并重新选择启动模式将重置芯片并准备下载。
由于似乎没有标准,我做出了自己的选择:目标板使用2x4直角排针,而“编程器”板则使用同上的母连接器。编程器具有FT232RL或类似的器件,5V-> 3.3V稳压器和一个开关,用于禁用目标板的电源(在将复位引脚重新用作GPIO时,必须将目标芯片置于编程模式)。
连接器引脚
编程器(dongle)电路图
编程器,带有最少的LPC1114目标板。
我将lpc21isp用作PC上的编程工具(开放源代码,可以轻松地为Windows或Linux编译),但是我不得不在代码中添加一行,因为下载后它启动应用程序的方式(跳转到代码的开头)不适用于Cortex。
我以前没有使用LPC1114,但请看下面的地址。在左侧,您将看到一个原理图文件的链接...
我实际上是在用相同的微芯片构建东西。我刚刚从digikey 那里拿到了其中之一:http : //ics.nxp.com/lpcxpresso/,价格约为20美元,切断了电路板的“目标”侧,并在“ LPC链接”侧连接了一个自定义连接器使用我的编程标题。自从基于RedEclipse的环境(我讨厌Eclipse)以来,CodeRed制作的环境令人讨厌,但是它可以在Windows,Linux以及Mac上运行。它们具有所有命令行程序与LPC Link界面一起使用的说明。
我在Linux中设置了一个可以运行的环境make dl
,它将通过USB和到LCP1114的SWD连接初始化链接,对其进行编程并启用安全性位。如果您不重用SWD信号之一,则甚至可以用于调试。
它不是您想要的序列号,但它就像一个魅力。
如果要使用标准连接器(即RS232)进行串行编程,为什么不通过LPC侧的标准DB9公头实现普通UART(MAX3232等)呢?比起您简单地将延长线(公对母)DB9电缆连接到PC(或者,如果您的PC没有串行端口,则使用串行转USB电缆)。无论如何,将母DB9放在您的PLC板上,就无需制造串行电缆了。不要忘记正确连接引脚,扩展电缆是直的(1-1、2-2,... 9-9)。
如果板上的空间有问题(DB9没有足够的空间),则只能提供2 x 5针接头连接器。
当然,您也可以使用备用的MAX3232电平转换器来迫使您的电路板进入复位/引导模式,就像我在使用Flashmagic的基于NXP / AT89C51Rx2的电路板上所做的那样。同样的原理,Falshmagic通过串行线路控制启动项。
话虽如此,我会选择SWD / JTAG并进行调试。