HyInt v2 User Manual

From Tribotix Wiki

Jump to: navigation, search

HyInt version 2 is the first major revision. The changes & improvements made from HyInt v1 to v2 are:

  • CM-iGLX module with inbuilt WLAN became available making mini-PCI based WLAN module obsolete - this allowed the physical dimensions of HyInt to be greatly reduced.
  • To further reduce the size of HyInt an extra pcb was generated so that connection to the CM-iGLX's external ports is easy. This External I/O Board allows easy access to:
  1. Ethernet,
  2. VGA,
  3. Serial port, and
  4. USB port (keyboard).
  • A USB Hub was added to HyInt - this allowed us to have 5 USB ports available. These are utilised as:
  • USB1.0: RS485 (2 channels to Dynamixels)
  • USB1.1: RS485 (to HySense & HySense Lite)
  • USB1.2: Keyboard (to external IO board)
  • USB1.3: Spare (possible use: FLASH Drive)
  • USB2: (Logitech Web Camera)
  • Adding the 2nd USB to RS485 converter allowed both Data Acquisition modules (HySense & HySense Lite) to be daisy-chained. This freed up one of the CM-iGLX's COM ports which allowed us to have a dedicated COM port on the External I/O Board. To Summarise:
  • COM1: Serial Port (to external IO board)
  • COM2: Comms to ATMega8 which looks after Power Management on HyInt
  • HyInt can now communicate with AX type Dynamixels
  • Power/Battery management is now done via an ATMega8, allowing greater flexibility for:
  • voltage and current monitoring, and
  • battery discharge monitoring, via Coulomb counting.

Contents

[edit] Introduction

The HyInt module can be used in any robotic project where a powerful processor with minimal current draw is required. The image below shows a HyInt which has been fitted to Robotis's CycloidII, the HyInt replaced the CM2 which was supplied as standard with these Humanoids. The name HyInt was derived as an abbreviation/acronym of sorts for Hykim's Intelligence.


Image:HyInt_CycloidII.jpg
HyInt v1 processing module perfect for Dynamixel based robots


HyInt consists of 3 pcb's, the heart of this module being Compulab's CM-iGLX computer module. The other 2 pcb's provide a rugged mounting point for the CM-iGLX as well as circuitry for external intefaces and power distribution and management. One of HyInt's main features is it's ability to communicate directly at 1Mbps with Robotis's range of Dynamixel motors - AX, DX & RX.


Compulab’s CM-iGLX can run either Embedded Linux, Windows CE, or Windows XP. Compulab provide an embedded Linux image based around Gentoo whilst Tribotix have developed an embedded Linux image based around debian etch (Debian 4.0r2), Linux Kernel: 2.6.18 which includes all the required device drivers.

[edit] Hardware

Image:Image_Not_Yet_Available.jpg
HyInt v2 Module


As shown in the illustration below, the HyInt module consists of 3 pcb’s. These are:

  1. CM-iGLX: this is a prefabricated computer module supplied by Compulab.
  2. Motherboard: this board is the interface for the CM-iGLX and allows all the CM-iGLX’s ports to be brought out to the appropriate types of connectors. A USB hub is also fitted to this board, expanding the available USB ports to 5.
  3. Power Supply Board: this board is where the supply voltage is converted to 5V and 3.3V for the various electronic modules distributed around HyKim. This board also an mcu, an ATMega8, that monitors the supply voltage and current. Having an mcu perform this functions allows it to be programmed to alarm the CM-iGLX when the supplied voltage drops below a pre-determined voltage or when it calculates that the batteries charge is reaching a critical level. When the mcu determines that the battery voltage/charge is critical, the mcu can turn power to the Dynamixels off - allowing all available charge to be used to shut the CM-iGLX down gracefully.


Image:HyInt_Mounting_v2.jpg
HyInt v2 Mounting within HyKim


The Illustration above shows:

  • that the HyInt system is mounted horizontally - the reasoning behind this is to provide a heat sink for the CM-iGLX's mcu. Without a heatsink we recorded temperatures for the CM-iGLX's mcu above 90°, using the Aluminum frame as a heat sink has allowed us to keep the CM-iGLX's mcu temperature within operational limits.
  • Hysense, the Body Data Acquisition module (Body Sensors), is now mounted horizontally above HyInt and communicates with HyInt via an RS485 channel.


The table below shows the allocation of the ports available to the user on the HyInt module.


Connector Port Type
PB0801 J5 Dynamixel: AX, DX or RX modules
PB0801 J6 Jumper used to select either AX or DX/RX Dynamixel modules at J5
PB0801 J7 20-way IDC Header, takes CM-iGLX signals to PB0804 (External I/O Board)
PB0801 J8 Audio In (Stereo)
PB0801 J9 Audio Out (Stereo)
PB0801 J10 USB Connector (FLASH Drive)
PB0801 J13 Signals to HySense Lite
PB0801 J14 Signals to HySense
PB0803 J1 ATMega8 expansion IO
PB0803 J2 ATMega8 AVRISP Programming
PB0803 J5~J8 Dynamixel Channel 1 - AX or DX/RX
PB0803 J8~J12 Dynamixel Channel 2 - DX/RX
PB0803 J13 Power Supply (2.5mm DC Jack)
PB0803 J14 Battery Connector


The following sub-sections will provide more specific information for each of the boards that make up HyInt.


[edit] Compulab CM-iGLX module

Image:CM-iGLX.jpg


The CM-iGLX is a prefabricated computer module manufactured by Compulab and it’s features include:

  • AMD Geode LXMCU 500MHz x86 architecture:
    • no need for cross compilation when using Linux
  • Geode LXMCU contains a Floating Point Unit (FPU)
  • 256Mb DDR SRAM
  • 512Mb FLASH Disk
  • Used interfaces:
    • 2 x COM ports
    • USB (host and slave)
    • 100Mbps Ethernet
    • VGA
    • Mini PCI-bus
  • Small Size: 68 x 58mm


Our original design for HyKim was to use 2 prefabricated boards based around the Intel PXA255. These were originally chosen for their low power consumption, 0.2~3W. If you assume that during normal operation the Intel PXA255 boards used 1.6W, then for 2 boards we’d have consumed 3.2W for 500MIPS (250MIPS per board) – assuming that both boards could run at 100%, i.e. not have to wait for the other processor to complete a task before continuing. Using a single AMD Geode LXMCU we can have 990MIPS plus 270Mflops for 3~5W of power consumption. So the decision to switch from a dual Intel PXA255 to a single AMD Geode LXMCU gave us a better Power vs MIPS and Mflops ratio [ref].


Rather than reproduce all the information that Compulab make available for the CM-iGLX in this manual it is more efficient, and accurate, to direct the reader to Compulab's CM-iGLX web site. The main links of interest to the reader will be:

  1. CM-iGLX User Manual
  2. CM-iGLX Developer User

[edit] External I/O Board (PB0804)

Image:Image_Not_Yet_Available.jpg
External I/O Board (PB0804)

Schematics: External I/O Board PB0804

Software: N/A

Firmware: N/A

Sub-modules: N/A


PB0804 is a simple board that takes a 20-pin Ribbon Cable from the Motherboard (PB0801) and breaks the signals up and takes them to standard connectors for that signal type. This was generated for 2 reasons, firstly having these connectors external to the motherboard is more convenient and secondly, it allowed us to reduce the size of the Motherboard (PB0801) to a size slightly bigger than a Credit Card.


There are 4 output connectors, these are:

  1. VGA
  2. Serial
  3. USB
  4. Ethernet


The connector allocation for PB0804 is shown in the table below.


Connector Port Type
PB0804 J1 20-way IDC Header, brings CM-iGLX signals from PB0801 (Motherboard Board)
PB0804 J2 VGA
PB0804 J3 Serial
PB0804 J4 USB
PB0804 J5 Ethernet

[edit] Motherboard (PB0801)

Image:Image_Not_Yet_Available.jpg
HyInt Motherboard (PB0801)

Schematics: Motherboard - PB0801

Software: N/A

Firmware: N/A

Sub-modules: N/A


PB0801 is the motherboard of the HyInt system as both the CM-iGLX, PB0804 (External I/O) and PB0803 (Power Supply) boards connect to it. This board not only provides a secure mounting location for the CM-iGLX but transfers all the necessary signals from the CM-iGLX to appropriate connectors.


The connector allocation for PB0801 is shown in the table below.


Connector Port Type
PB0801 J1, J2 & J3 Connectors used for CM-iGLX
PB0801 J4
PB0801 J5 Dynamixel: AX, DX or RX modules
PB0801 J6 Jumper used to select either AX or DX/RX Dynamixel modules at J5
PB0801 J7 20-way IDC Header, takes CM-iGLX signals to PB0804 (External I/O Board)
PB0801 J8 Audio In (Stereo)
PB0801 J9 Audio Out (Stereo)
PB0801 J10 USB Connector (FLASH Drive)
PB0801 J11, J12 10-way Headers takes signals to PB0803 (Power Supply Board)
PB0801 J13 Signals to HySense Lite
PB0801 J14 Signals to HySense

[edit] Power Supply Board (PB0803)

Image:Image_Not_Yet_Available.jpg
HyInt v2 Power Supply Board (PB0803)


Schematics: Power Supply Board PB0803

':Software:

  • ATMega128 bootloader, link to be added here ....
  • ATMega128 software, link to be added here ....
Firmware:
  • ATMega128 bootloader firmware, link to be added here ....
  • ATMega128 firmware, link to be added here ....

Sub-modules: N/A

PB704B is the board within the HyInt system that:

  1. takes the supply voltage, from either the battery pack or the DC jack, and generates 5V and 3.3V that are used by the various sub-modules within HyKim,
  2. monitors the supply voltage/charge and current via an ATMega8, when the mcu determines that the battery voltage/charge is critical, the mcu can signal the CM-iGLX and turn power to the Dynamixels off - allowing all available charge to be used to shut the CM-iGLX down gracefully.
  3. passes the system battery voltage and current drawn to the CM-iGLX via a serial channel.
  4. provides the connectors for the Dynamixel network.


The connector allocation for PB704B is shown in the table below.


Connector Port Type
PB0803 J1 ATMega8 expansion IO
PB0803 J2 ATMega8 AVRISP Programming
PB0803 J3, J4 10-way Headers takes signals to PB0801 (MotherboardBoard)
PB0803 J5~J8 Dynamixel Channel 1 - AX or DX/RX
PB0803 J8~J12 Dynamixel Channel 2 - DX/RX
PB0803 J13 Power Supply (2.5mm DC Jack)
PB0803 J14 Battery Connector

[edit] Software

[edit] Compulab CM-iGLX module O/S

Compulab provide Linux (Gentoo-based), Windows CE and Windows XP images for the CM-iGLX – for more detailed information on the functionality covered by each OS, the user is directed to Compulab’s Availability of O/S and Drivers for CM-iGLX web page. The actual images can be downloaded from Compulab's Developers Resources for CM-iGLX web page.


In addition to the Linux image made available by Compulab, Tribotix have developed a 250Mb embedded Linux image that includes all the device drivers required for the peripheral hardware connected to HyInt. Details of the image follow.


debian etch (Debian 4.0r2)

Linux Kernel: 2.6.18

apache (1.3.34-4.1)

build-essentials (11.3) which includes:

  • dpkg-dev (>= 1.13.5) package building tools for Debian
  • g++ (4:4.1.1-15) The GNU C++ compiler
  • gcc (4:4.1.1-15) The GNU C compiler
  • libc6-dev [not alpha, ia64] GNU C Library: Development Libraries and Header Files also a virtual package provided by libc6.1-dev
  • make (3.81-2)The GNU version of the "make" utility.

python (2.4.4-2)

madwifi-source (1:0.9.2+r1842.20061207-2etch1)

madwifi-tools (1:0.9.2+dfsg-1) ?? I need to double check if this one is loaded

webcam (3.95.dfsg.1-1)

[edit] Downloading O/S images to the Compulab CM-iGLX module

This is where we'll put the download instructions ....

[edit] Compulab CM-iGLX module Software

This is where we'll put sample code ....

[edit] Battery Management Software (ATMega8)

This is where we'll put software and firmware code ....

Personal tools