High speed terminal node controller Jan Šebesta Department of Radioelectronics, Faculty of Electrical Engineering and Communication Purkyňova 118, 61200 Brno, Czech republic, E-mail:[email protected] Abstract: In this contribution you will find description about design and software develompment of high speed terminal controller using communication processor Am186cc. Introduction Digital packet radio networks are composed from nodes, which are connected by radio link to each other. Radio line input is data source (usually PC), which receiving and sending data into terminal node controller (TNC). This has charge attendants the data communication in network, it entails connection establishment and termination, network routing, source text encoding, etc… Data from TNC goes into radio modem, which creates modulated signal in basic frequency band. Then by a transceiver the signal is modulated on carrier frequency and transferred by free space to the second node, which receive data by the similar way. Basic requierements of TNC were high data transfer rates for communication up to 10 Mbit/s as with computer as with single modems, the next one was possibility to connect to TNC more than one modem to enable communication in several channels at the same time. The last important requirement was simplicity of implementation digital packet radio network applications, which was originally developed for PC. Figure 1. Multichannel digital packet radio station with TNC For TNC implementation was chosen communication processor Am186cc [1] from AMD. The core of the processor is based on 80186, which was used in PC. In addition Am186cc contains serial communication peripherals, which are USB port [2] with integrated differential transceiver, the next are four HDLC synchronous serial communication channels with data transfer rate up to 10 Mbit/s per channel and the next there are two asynchronous serial ports type RS232. TNC86 design Processor Am186cc makes memory direct addressing possible to capacity 512K x 16 bits. So TNC memory is divided into two parts. There is located SRAM 256K x 16 bits to save actual application data in lower address region. There is located FLASH 256K x 16 bits to store applications code in higher address region. Because this flash memory can be only in SMD package, so there is used one more flash type memory 64K x 16 bits at address region from E0000h to FFFFFh. This small memory can be programmed away of TNC and is used to make first boot of TNC. Because a higher part of 256K x 16 FLASH in final version will contain boot loader and small operating system, it’s necessary to have possibility to protect and unprotect (unprotect for a small period) data at this part. Therefore there is simple circuit with two transistors, which enables unprotect a selected part of memory if there is connected 12V from external power supply into its input. It’s used internal USB port of Am186cc for high speed communication with PC, so the count of external parts is minimal and transfer rates are up to 12 Mbit/s. Alternative communication with PC is provided by Am186cc internal high speed serial port type RS232. For communication with modems are used all four HDLC channels of Am186cc. Each of them can be used either for standard serial synchronous TTL (5V) modems or like high speed serial synchronous port for RS422 line [3], which will be used for new generation modems. The selection of communication type must be executed manually by connection one of two rows of PCB connectors with outgoing CANNON15 connector. Especially for HDLC channel A in addition it’s used timer 82C54, which in case of need can generate clock signal necessary for some older types of modems. TNC needs two voltage levels 3,3V for processor and 5V for the rest parts. For 5V stabilization it’s used switching regulator LM2575, which has input voltage range from 7V to 25V, with very small power losses. For SRAM battery backup on 5V supply failure it’s used MAX690, which on voltage level lower than 4.6V will generate reset signal and at the same time reconnect SRAM supply to battery source. Figure 2. Block diagram of TNC Also there are twelve LED diodes to indicate statuses of each modem (3 diodes for one modem indicate PTT, DCD, CON statuses) and for easier testing of TNC functions. TNC86 software For software universality and sequence to next generation programs developed for TNC, it’s necessary to write booting software and service routines in C language or directly in assembler. With regard to requierement to use programs originally developed for PC, we must create software system, which will contain some basic functions of MS-DOS. Then by help of this system it’s possible to efficiently develop the software written in higher level programming language, eventually to modify existing programs for PC. I have created communication system LOADER to provide basic functions for primary TNC software developing. Among this functions belongs serial port communication check, loading and executing programs into TNC, copying or eventually erasing of determinated block of TNC memory and loading memory area from TNC to PC. Loader was created regarding to have possibility to extend basic palette of functions. It comes to this, that partly it’s possible by help of basic functions perform Loader upgrade and partly efficiently use new commands in text form. The disadvantage of this system is, that it doesn’t provide any BIOS function, so for applications developing we can’t use any higher level programming language. Loader is identified for basic TNC check and to load following communication system MONITOR. Monitor is product of AMD developers and it is available in their web pages. This system contains a large number of functions for data management in TNC. The communication proceeds in text form over serial port. The system provides basic interrupt service routines, which are compatible with DOS 2.1. So programs, which can be executed by the system, may be written in higher level programming language, which supports destination processor 80186. Figure 3. Successful connection to MONITOR Monitor provides basic functions to run applications in TNC, but doesn’t have routines to service serial communication peripherals. So I needed to make several drivers, which provides functions for serial port, USB port and all HDLC channels. The philosophy of all drivers going out from one huge memory buffer, which will contain all received and transmitted data to PC and modems. Than the application in TNC will have information about position and size of each received buffer, so can process the data and save them for example into another place of huge buffer to transmit into PC. HDLC channels uses HDLC protocol which comes from protocol X.25. In radio communication it is standard protocol AX.25 [4], which is very similar to X.25. So without any change we can connect older modems to TTL version of HDLC connection. High speed modems, which will be connected to RS422 version must have onboard RS422 receivers and drivers. Figure 4. HDLC connenction DCD – data carier detect RES – for modem reset RXD,TXD – receive and transmit data RCLK, TCLK – clock signal for receiving and transmitting RXC_N/5V – clock signal for older modems (or +5V) /CTS, /RTR – data flow control signals Conclusion . TNC86 is universal terminal node controller, which provides dynamic environment for any application in data communication. In our laboratory of relay and satellite links TNC will be used for data communication with radioamateur experimental satellite PHASE 3D (also AO40). This satellite includes matrix transponder with variety of uplink bands from 14 MHz to 5,6 GHz and downlinks from 145 MHz to 24 GHz. Now TNC86 is realized in three copies and also there are prepared serial communication peripherals drivers for asynchronous serial port and HDLC drivers. The core of TNC is processor Am186cc with clock frequency 40 MHz. Maximum speed of serial port is 460kbit/s. Speed of each HDLC channel was measured up to about 1.2 Mbit/s. But HDLC drivers doesn’t employ DMA channels to their limit, so it’s only time question when speed gets up to 10 Mbit/s per channel. For HDLC transfers with data rates bigger than 450 kbit/s we must use twisted pair cable with length definitely not bigger than several meters. In the future for TNC will be generated DSP modem, which will enable higher data transfer rates and variety of data modulations. References [1] [2] [3] [4] Am186 CC high-performance, 80C186-compatible 16-Bit embedded communications controller. Data sheet, user’s manual and register set manual. Web page http://www.amd.com Universal serial bus specification revision 1.1. Compaq computer corp., Intel corp., Microsoft corp., NEC corp. 1998. Web page www.usb.org Přenos dat po linkách RS232, RS422, RS485. Web page http://www.hw.cz AX.25 Link access protocol for amateur packet radio. Version 2.2 ARRL, 1992
© Copyright 2025 Paperzz