============================================================================== ACTIface - A Customizable TP-UART Interface Package release date: 2010-03-01 Andreas Fernbach, afernbach@auto.tuwien.ac.at Georg Neugschwandtner, gn@auto.tuwien.ac.at A-Lab, Automation Systems Group, Vienna University of Technology https://www.auto.tuwien.ac.at/a-lab/knx-eib.html ============================================================================== ------------------------------------------------------------------------------ Hardware ------------------------------------------------------------------------------ This package contains the design for a 80 x 100 mm circuit board that can be used to connect a PC to a KNX TP1 (EIB TP) network: * Based on the Siemens TP-UART IC * Includes a small microcontroller (TI MSP430) between TP-UART and PC * Converts from and to RS-232 signal levels * Provides galvanic isolation between KNX network and PC * No dedicated power source required * Accepts standard TI JTAG programming adapters * Includes DIP switches, push buttons and LEDs * Allows access to TP-UART status signals * Supports TP-UART analog mode * Test pins for all TP-UART signals The board can also be assembled without the microcontroller for directly connecting the TP-UART host controller interface to the PC. Furthermore, the board could also be assembled without the RS-232 interface and could be used as a standalone KNX TP1 node (with the proper firmware, not provided). The RS-232 part is powered by the DTR and RTS lines (the PC must activate DTR and set RTS inactive). For those cases where this is not possible, the package includes the design for an optional power supply board. ------------------------------------------------------------------------------ Firmware ------------------------------------------------------------------------------ This package includes software for the MSP430 that works around one timing constraint of the TP-UART host protocol (end-of-packet detection) and monitors another (U_AckInformation timeout): Whenever a definable period of silence is detected on the KNX side, either a break signal or an escape code is inserted into the data stream from the TP-UART to the host. The LEDs on the board are used to show how often the PC failed to answer an L_DATA.ind with a U_AckInformation in time. In addition, a simple demo program for the TP-UART analog mode is included. ------------------------------------------------------------------------------ Documentation ------------------------------------------------------------------------------ The concept behind the hardware and firmware and many more details are presented in this paper: Georg Neugschwandtner and Andreas Fernbach: "Design of an enhanced TP-UART based KNX PC interface", KNX Scientific Conference 2008, November 2008 It is available on the Web at www.knx.org and here: http://www.auto.tuwien.ac.at/~gneugsch/knxsci08-tpuart_if.pdf The hardware block diagram in this package is taken from this paper. PDF versions of the schematic drawings and PCB artwork are included to allow (pre)viewing them without EAGLE installed. The firmware source files contain extensive comments. The MSP430F123 specific header file (msp430x12x.h) was not included since it belongs to the build environment (SDK/IDE). For additional documentation included in this package, see the "Files" section below. Further information is available on the Web. ------------------------------------------------------------------------------ License ------------------------------------------------------------------------------ The contents of this package are made available under copyleft licenses: The hardware design is licensed under the TAPR Open Hardware License (http://www.tapr.org/OHL). The firmware is licensed under the GNU Lesser General Public License (http://www.gnu.org/licenses/lgpl.html). Basically, this allows you to do whatever you want with them, with one restriction: If you pass anything that is based on them to someone else, you must share any modifications you made under the same terms and in a way that allows others to build upon them - just as you did on the originals. NOTE however that the design may be covered by patents and other intellectual property rights held by others. Any use in a commercial context is therefore strictly discouraged without painstaking research in this regard. Also, we are not liable if the hardware or firmware does not work, damages something or even causes harm to someone. USE AT YOUR OWN RISK! THE DOCUMENTATION AND PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ALL WARRANTIES WITH REGARD TO THIS DESIGN, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE HEREBY EXPRESSLY DISCLAIMED. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ANY LICENSOR BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR INABILITY TO USE, THE DOCUMENTATION, PRODUCTS OR PROGRAMS, INCLUDING BUT NOT LIMITED TO CLAIMS OF INTELLECTUAL PROPERTY INFRINGEMENT OR LOSS OF DATA, EVEN IF THAT PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. For details, refer to the license texts included in the package. ------------------------------------------------------------------------------ Tools and Parts ------------------------------------------------------------------------------ The schematic and layout drawings can be viewed and modified with Cadsoft EAGLE Light Edition, which is available free of charge. EAGLE versions 5.2.0 and 5.7.0 were used to create them. http://www.cadsoft.de/index.htm.en The MSP430 firmware can also be built and downloaded with software tools that are available free of charge (a hardware JTAG adapter is required). The firmware was created using TI Code Composer Essentials v3 Core Edition, which is no longer available; it has been superseded by TI Code Composer Studio v4 (MCU Core Edition, TMDFCCS-MCULTD). http://focus.ti.com/docs/toolsw/folders/print/ccstudio.html Other toolchains for the MSP430 are available as well, but the source code may need to be modified to use them. The TP-UART IC can be purchased from Opternus Components. For all other components, suggested parts and their Farnell order numbers are given in the parts lists. We do not specifically endorse Farnell; this is just a convenient way of linking to detailed part specifications and to give an idea about costs. http://www.opternus.com/en/opternus-components.html http://www.farnell.com ------------------------------------------------------------------------------ Files ------------------------------------------------------------------------------ README.txt - This file changes.txt - List of changes since the last release jumpers_switches.txt - Describes where the LEDs, switches and pin headers on ACTIface are connected hardware/ block_diagram.png - Interface hardware block diagram actiface_15mil.dru - EAGLE design rules file (for both PCBs) partinfo.BOMdb - Part database file (for bom-am-16.ulp) drc_erc.txt - Comments on errors reported by the EAGLE design rule check/electrical rule check license.pdf - TAPR Open Hardware License v1.0 LICENSE.TXT - TAPR Open Hardware License v1.0 CONTRIB.TXT - Contributors list actiface/ actiface13.sch - Interface schematic file (EAGLE v5 format) actiface13.brd - Interface board file (EAGLE v5 format) actiface13_schematic.pdf - Interface board schematic drawing actiface13_board.pdf - Interface board layout, w/o stop masks (not for production) actiface13_bom.csv - Parts list for the interface board actiface13_cam.zip - Gerber/Excellon data; see actiface13.txt within .zip for details tpuart.lbr - TP-UART schematic symbol and footprint (EAGLE parts library format) TI_MSP430_v13.lbr - MSP430 schematic symbols and footprints (EAGLE parts library format, provided by TI) power_supply/ pwrsupply.sch - Power supply schematic file (EAGLE v5 format) pwrsupply.brd - Power supply board file (EAGLE v5 format) pwrsupply_schematic.pdf - Power supply schematic drawing pwrsupply_board.pdf - Power supply board layout, w/o stop masks (not for production) pwrsupply_bom.csv - Parts list for the power supply board pwrsupply_cam.zip - Gerber/Excellon data; see pwrsupply.txt within .zip for details pp3.lbr - 9V battery connector schematic symbol and footprint (EAGLE parts library format) regulator.lbr - 9V voltage regulator symbol and footprint (modified extract from EAGLE linear.lbr) firmware/ main.c - Main module for end-of-packet detection and U_AckInformation timeout monitoring sw_uart.h - Software UART library header sw_uart.c - Software UART library analog_demo.c - Main module for TP-UART analog mode demo pins.h - Microcontroller pin definitions for the interface board COPYING - GNU General Public License COPYING.LESSER - GNU Lesser General Public License ------------------------------------------------------------------------------