Our new website is available at new.dizzy.co.za :-).

X
+27 (0)11 022 5323 +27 (0)64 681 8495
Basket/Checkout
R
- -
MagnifierSearch:
UART 1-Wire Click (Go to Parent Category)

UART 1-Wire Click

UART 1-Wire click is used to convert standard UART or RS232 signals into 1-Wire® signals. Apart from other features such as the slew rate control for larger 1-Wire® busses, selectable data rate, an accurate self-calibrating time base, ESD protection and more, the main feature of the UART 1-Wire® click, is that it manages all the sensitive signal timings involved in 1-Wire® communication, allowing rapid development of UART to 1-Wire® applications. It can automatically convert a single character from the UART bus into eight 1-Wire® time slots, thereby increasing the data throughput significantly, while reducing the microcontroller workload.

UART 1-Wire click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.

R470  Qty:
Price ex. VAT. Weight: 24g. Stock: Lead-time applicable [i]. mikroE Icon

Featuring a set of options for fine-tuning the 1-Wire® bus performance, allowing it to accommodate to a wide variety of different applications, complex state machine which allow straight-forward conversion of characters sent over the UART interface, using the accurate crystal-driven UART timing as a reference for the 1-Wire® time base, UART 1-Wire click represents a perfect solution for rapid development of 1-Wire® applications: it can be used to facilitate working with various iButton® devices or similar applications based on 1-Wire® communication, offering a simple and familiar UART interface to the host microcontroller (MCU).

About the 1-Wire® protocol

1-Wire® is a very popular communication protocol developed by Dallas Semiconductors (acquired by Maxim Integrated in 2001), that requires only two wires: signal line and GND. In most cases GND is common to both devices, so the whole bus is reduced to just a single line. The 1-Wire® protocol is often used between different devices when low-speed communication is sufficient. With the appearance of iButton® devices and MicroLAN interfaces, the 1-Wire® protocol gains popularity. However, there are not many MCUs that have the 1-Wire® peripheral integrated onboard, so they must rely on bit-banging routines to provide accurate 1-Wire® signal waveforms. Producing accurately timed signals by using such routines may prove demanding for most applications. Because of this, devices such as UART 1-Wire click simplify the firmware development greatly, reducing the host MCU workload.

How does it work?

UART 1-Wire click is based on the DS2480B IC, a serial to the 1-Wire® driver IC, from Maxim Integrated. This IC is designed to directly interface the UART with the 1-Wire® bus. It performs data conversion using independent data rates for both interfaces, allowing standard and overdrive communication speeds. Internal timing generators of the DS2480B IC are continuously synchronized with the incoming UART data, which is typically driven by a high-precision crystal oscillator of the host microcontroller (MCU). This allows time-critical 1-Wire® signals to be generated by the IC itself, greatly reducing the processing load from the host MCU. Many physical parameters of both the UART and 1-Wire® buses can be fine-tuned so that the UART 1-Wire click can be accommodated to any type of UART/RS232 to 1-Wire® signal conversion application.

MikroE Click Boards Interface UART 1-Wire Click

The DS2480B IC can be observed as a complex state-machine. It can be configured by UART commands, so the IC must parse the incoming data prior to conversion. The device can be operated in two main operating modes: Command Mode and Data Mode. The Command Mode is the default state after the Power ON event. This mode allows the configuration parameters to be set. However, the DS2480B IC must be initialized prior to any operation: the 1-Wire® bus reset command should be sent over the TXD line at a fixed rate of 9600 bps. This is used only to calibrate the internal timing generators, without performing any action on the 1-Wire® bus. After the initialization, the DS2480B IC can be used normally.

The Data Mode is used to convert bytes received at the TXD line into their equivalent 1-Wire® waveforms, and to report the responses back to the host MCU through the RXD line. The datasheet of the DS2480B IC illustrates the operating principles of this IC by using the state transition diagram. Along with several examples at the end of the datasheet, it represents a very useful starting point for the application development. However, the included mikroSDK compatible library offers functions that simplify the firmware development even more.

The DS2480B IC requires using 5V for both the power supply and logic levels. Having in mind that most MCUs use 3.3V logic levels for UART communication, a level translator had to be added. UART 1-Wire click uses the TXB0106, a bi-directional level translator IC, by Texas Instruments. This IC allows reliable logic voltage level translation, allowing the Click board™ to be used with a wide range of MCUs that use 3.3V logic levels on their UART lines.

The 1-Wire® bus can be accessed over the screw terminal on the Click board™. Due to the nature of most 1-Wire® applications, the signal line of the 1-Wire® bus is protected by the DS9503, an integrated ESD Protection Diode with resistors. This IC is specifically designed to be used as the Electrostatic Discharge (ESD) protection in 1-Wire® applications.

Specifications

Type 1-Wire
Applications The Click board™ can be used to facilitate working with various iButton® devices or similar applications based on 1-Wire communication, offering a simple and familiar UART interface to the host microcontroller (MCU)
On-board modules DS2480B IC, a serial to 1-Wire driver IC, from Maxim Integrated; TXB0106, a bi-directional level translator IC, by Texas Instruments
Key Features A set of options for fine-tuning the 1-Wire bus performance, complex state machine which allow straight-forward conversion of characters sent over the UART interface, an accurate 1-Wire bus timing derived from the crystal-driven UART reference, etc.
Interface UART
Input Voltage 3.3V,5V
Click board size M (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on UART 1-Wire click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 NC
NC 2 RST INT 15 NC
NC 3 CS RX 14 TX UART TXD Line
NC 4 SCK TX 13 RX UART RXD Line
NC 5 MISO SCL 12 NC
NC 6 MOSI SDA 11 NC
Power Supply 3V3 7 3.3V 5V 10 5V Power Supply
Ground GND 8 GND GND 9 GND Ground

Onboard settings and indicators

Label Name Default Description
PWR PWR - Power LED indicator
CN1 GND, 1-W - 1-Wire® bus connector

Software support

We provide a library for the UART 1-Wire Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Library Description

The library initializes and defines the UART bus driver and drivers that offer a choice for writing data on UART. The library includes the function for reading data and functions for go to Command/Data mode. The user also has the function for reset chip and storage read data.

Key functions:

  • void uart1wire_writeCommand(uint8_t input) - Functions for write one byte on UART.
  • uint8_t uart1wire_readByte() - Functions for read byte from UART.
  • void uart1wire_goToCommandMode() - Functions for go to command mode.
  • void uart1wire_goToDataMode() - Functions for go to data mode.
  • void uart1wire_readData(uint8_t *buf, uint8_t nData) - Functions for read data.

Examples description

The application is composed of the three sections :

  • System Initialization - Initializes UART module.
  • Application Initialization - Initializes Driver init, interrupt routine and init thermo 2 click.
  • Application Task - (code snippet) - Reads the temperature from the Thermo 2 click board and logs data to UART. Connection between Thermo 2 and UART 1 Wire is made through 1- Wire interface. You can place thermo 2 click on mikrobus 2 socket and use side headers to make connection between click boards.
void applicationTask()
{
    /* Start converzion */
    uart1wire_reset();
    uart1wire_goToDataMode();
    Delay_10ms();
    uart1wire_writeCommand(_UART1WIRE_SKIP_ROM);
    uart1wire_writeCommand( 0x44 );
    Delay_ms( 750 );
    
    /* Start reading temperature */
    uart1wire_reset();
    uart1wire_goToDataMode();
    Delay_10ms();
    uart1wire_writeCommand(_UART1WIRE_SKIP_ROM);
    uart1wire_writeCommand( 0xBE );
    Delay_10ms();
    
    uart1wire_readData(&dataBuffer[0], 8);
    
    Temp = dataBuffer[ 1 ];
    Temp = Temp << 8;
    Temp = Temp | dataBuffer[ 0 ];
    
    fTemp = Temp * 0.0625;
    mikrobus_logWrite(" Temperature : ", _LOG_TEXT);
    FloatToStr(fTemp, demoText);
    mikrobus_logWrite(demoText, _LOG_LINE);
    
    Delay_ms( 1000 );
}

The full application code, and ready to use projects can be found on our LibStock page.

Other mikroE Libraries used in the example:

  • UART
  • Conversions

Additional notes and information

Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

Downloads