The 1-Wire protocol needs a very tight and time-critical signal generation, so it’s always been resource-consuming to write software able to communicate with 1-Wire slaves, or highly unreliable if running on a non-real-time operating system.
The AK-DS2482S-100 board allows to control one or many 1-Wire slave devices (like temperature sensors and EEPROMs) by simply sending I2C commands, relieving the task of generating the time-critical signals the 1-Wire protocol requires. It provides bidirectional protocol conversion between an I2C master (like a microcontroller) and 1-Wire slave devices.
The board is based on Maxim’s DS2482S-100+ chip and can be powered-up with 2.9V to 5.5V. It supports 100kHz and 400kHz I2C bus speed, includes solder jumpers to enable I2C bus pull-ups and a solder jumper to enable the Strong Pull-Up (SPU) through the on-board MOSFET.
Features
- I2C to 1-Wire bridge
- Wide power supply range: 2.9V to 5.5V
- Supports 100kHz and 400kHz I2C
- Includes MOSFET for Strong Pull-Up control with the PCTLZ pin
- 1-Wire master IO with selectable active or passive 1-Wire pullup
- Provides reset/presence, 8-Bit, single-bit, and 3-Bit 1-wire IO sequences
- Standard and overdrive 1-Wire communication speeds
- Supports EEPROMs, temperature sensors, or other 1-Wire slaves that have momentary high source current modes
- Strong 1-Wire pull-up provided by an internal low-impedance signal path
- 2 mounting holes
- ENIG contacts
- Small size
Comments
You must be logged in to post a comment.
I finally got it working. It works great with the Nano 33. Here is some code that may help someone:
https://github.com/SK21/TemperatureMonitor/tree/main/TM10/DS2482
Hello David. I’m glad you got it working. And thank you for the code.
Do you know if the ow library automatically activates the DS2482S active pullup? Or if there is an option for the ow to activate it? Reading from the DS2482S documentation, the active pullup is off, by default. (I soldered the SPU connection).
Thank you
Hi.
Which library are you using?
The SPU pad is for the strong pull-up, to be used with the PCTLZ pin to control the on-board MOSFET. Both APU (active pull-up) and SPU (strong pull-up) must be activated using the internal registers.
I am using ow library from python. http://owfs.org/ .
Hi. I gave a good look into owfs and I didn’t find any reference to pull-ups.
A quick search on google suggests it should support the strong pull-up (https://sourceforge.net/p/owfs/mailman/message/19434772/), but I cannot say for sure how to enable it.
Hi! I assume that the I2C taks at 5V. So if I want to power the board at 5V (to get better 1wire performance) I need an adapter between this board and my 3.3V RaspberryPi I2C interface. Is this correct?
Hi. In general lines, the I2C talks at the voltage you supply the board with. It can be 3.3V or 5V. If your 1-wire device needs 5V, then it’s convenient to supply 5V to the DS2482S too, so in this case you would need to put a level translator between the RPI and the DS2482S board.
Thanks! I put them in prod, they work! At 5V, through a 3.3- 5V I2C level shifter