Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:circuits-from-the-lab:cn0359 [05 Oct 2016 18:56] – [Change Log] Robert Leeresources:eval:user-guides:circuits-from-the-lab:cn0359 [14 Feb 2023 14:47] (current) – reva_software Ramona Bolboaca
Line 3: Line 3:
 ===== Overview ===== ===== Overview =====
  
-Completely self-contained, microprocessor controlled, highly accurate conductivity measurement system ideal for measuring the ionic content of liquids, water quality analysis, industrial quality control, and chemical analysis.+The CN0359 is a complete, highly accurate conductivity measurement system designed for applications involving ionic content measurement of liquids, water quality analysis, industrial quality control, and chemical analysis.
  
-A carefully selected combination of precision signal conditioning components yields an accuracy of better than 0.3% over a conductivity range of 0.1 μS to 10 S (10 MΩ to 0.1 Ω) with no calibration requirements.+A carefully selected combination of precision signal conditioning components yields an accuracy of better than 0.3% over a conductivity range of 0.1 μS to 10 S (10 MΩ to 0.1 Ω) with no calibration requirements. Automatic detection is provided for either 100 Ω or 1000 Ω platinum (Pt) resistance temperature devices (RTDs), allowing the conductivity measurement to be referenced to 25°C.
  
-Automatic detection is provided for either 100 Ω or 1000 Ω platinum (Pt) resistance temperature devices (RTDs), allowing the conductivity measurement to be referenced to 25°C. +The system accommodates 2-wire and 4-wire conductivity cells, and 2-wire, 3-wireand 4-wire RTDs for improved accuracy and flexibility.
- +
-The system accommodates 2- or 4-wire conductivity cells, and 2-, 3-, or 4-wire RTDs for added accuracy and flexibility.+
  
 ====== Hardware Connections ====== ====== Hardware Connections ======
Line 17: Line 15:
 The CN0359 have 5 connectors: The CN0359 have 5 connectors:
   * **J1** for power supply   * **J1** for power supply
-  * **J2** for RS-485 communication+  * **J2** for RS-485 communication (//Rev A//) or UART communication (//Rev B//)
   * **J3** for RTD temperature sensor   * **J3** for RTD temperature sensor
   * **J4** for JTAG/SWD debug   * **J4** for JTAG/SWD debug
   * **J5** for conductivity sensor   * **J5** for conductivity sensor
 +\\
 +==== EVAL-CN0359-EB1Z Rev. A ====
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_reva_front.jpg?600 |}}
 +\\
  
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_front.jpg?direct |}} +==== EVAL-CN0359-EBZ Rev. B ==== 
- +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-top.png?direct&600 |}} 
-To evaluate the full function of CN0359, you need following equipment+\\ 
-  * EVAL-CN0359-EB1Z evaluation board +\\ 
-  * EVAL-CFTL-6V-PWRZ 6V DC wall connector+The following equipment are required to evaluate the CN0359: 
 +  * CN0359 circuit evaluation board 
 +  * EVAL-CFTL-6V-PWRZ 6V DC wall connector (or equivalent)
   * 2-wire and 4-wire conductivity cells   * 2-wire and 4-wire conductivity cells
   * 2-wire and 3-wire and 4-wire PT100 and PT1000 RTDs   * 2-wire and 3-wire and 4-wire PT100 and PT1000 RTDs
-  * PC with Microsoft Windows 7 or later OS and USB 2.0 or faster USB port +  * PC with Microsoft Windows 7 (or later OSand USB 2.0 (or faster USBport 
-  * USB to RS-485 convert cable+  * USB to RS-485 converter cable (Rev A) or ADALM-UARTJTAG or similar USB to UART bridge module (Rev B)
  
-To reprogram or debug CN0359, you need following extra equipment +<note> 
-  * J-link debug cable or equivalent JTAG/SWD debug cable+The following conductivity cells have been used to test the functionality of the CN0359: 
 +  * TOPAC CS SK10T (2-electrode cell) 
 +  * TOPAC CS SK40T (4-electrode cell) 
 +</note>
  
-===== RTD Connections =====+The following extra equipment are require to reprogram or debug the CN0359:  
 +  * J-link debug cable (or equivalent JTAG/SWD debug cable) 
 +  * 20-pin/10-pin JTAG/SWD adapter (//Rev B only//) 
 +\\ 
 +----
  
-The CN0359 can support PT100 and PT1000 type of RTD sensors connected in 2-wire or 3-wire or 4-wire mode.  The RTD type and connection mode is automatically detect by software. The RTD temperature sensor on the EVAL-CN0359-EB1Z should be connected to header **J3**.+===== Conductivity Sensor Connections =====
  
-The J3 pin map is following: +The CN0359 supports both 2-electrode and 4-electrode types of conductivity sensors. The conductivity sensor should be connected to **J5** of the evaluation board.
-| Pin Number | Signal Name | Pin Description | +
-| Pin 1 | I(+) | Source Excitation Current | +
-| Pin | V(+) | High Voltage Potential Output | +
-| Pin 3 | V(-) | Low Voltage Potential Output | +
-| Pin | I(-) | Sink Excitation Current |+
  
-The I signal inject the constant excitation current into RTD, the V signal output will be sample by ADC to measure, the connections for different wire mode please reference following picture.+Refer to the following table for the pin map of J5: 
 +^  Pin Number  ^  Signal Name  ^  Pin Description 
 +|  Pin 1  |  I(+)  |  (+) Conductivity Probe Excitation Current Pin  | 
 +|  Pin 2  |  V(+)  |  (+) Conductivity Probe Voltage Sense Pin   | 
 +|  Pin 3  |  V(-)  |  (-) Conductivity Probe Voltage Sense Pin  | 
 +|  Pin 4  |  I(-)  |  (-) Conductivity Probe Excitation Current Pin  | 
 +|  Pin 5  |  GND  |  Ground  |
  
-**RTD 4-wire connection** +<note tip> 
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_rtd4w.jpg?direct |}} +The error specification for the CN0359 is +/0.3% within the 0.1 μS to 10 S (10 MΩ to 0.1 Ω) conductivity range. If the conductivity of the solution being measured is outside this range, extra error may be introduced
-----+</note>
  
-**RTD 3-wire connection** +During conductivity measurement, the excitation current flows into the sensor through the I pins and then translated into a voltage signal by an onboard transimpedance amplifier. This signal, plus the voltage developed across the V pins, are then amplified and then sampled by the microcontroller ADCs.
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_rtd3w.jpg?direct |}}+
  
-----+Refer to following pictures for the proper conductivity sensor connections. **Sensor connections are the same for both Rev A and Rev B evaluation boards.**
  
-**RTD 2-wire connection** +==== 2-Electrode Conductivity Sensor Connection ==== 
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_rtd2w.jpg?direct |}}+{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-conductivity-2w-small.png?direct |}} 
 + 
 +<note important> 
 +When using 2-electrode sensors with the CN0359 evaluation board: 
 +  * Pin 1 ⇔ Pin 2 of J5 **MUST** be shorted. 
 +  * Pin 3 ⇔ Pin 4 of J5 **MUST** be shorted. 
 +</note>
  
 ---- ----
  
-====Conductivity Sensor Connections =====+==== 4-Electrode Conductivity Sensor Connection ==== 
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-conductivity-4w-small.png?direct |}} 
 +\\ 
 +----
  
-The CN0359 support both 2-electrode and 4-electrode conductivity sensor. The conductivity sensor connect to **J5** of the EVAL-CN0359-EB1Z.+===== RTD Connections =====
  
-The J5 pin map is following: +The CN0359 supports PT100 and PT1000 RTD sensors connected in either 2-wire, 3-wire, or 4-wire mode; the RTD type and connection mode will be automatically detected by the software. The RTD temperature sensor should be connected to header **J3** on the evaluation board.
-| Pin Number | Signal Name | Pin Description | +
-| Pin 1 | I(+) | Source Excitation Current | +
-| Pin | V(+) | High Voltage Potential Output | +
-| Pin | V(-) | Low Voltage Potential Output | +
-| Pin | I(-) | Sink Excitation Current | +
-| Pin 5 | GND | Ground |+
  
-<note tip> +The J3 pin map is following: 
-The EVAL-CN0359-EB1Z board error specification is +/- 0.3% under conductivity range0.μS to 10 S (10 MΩ to 0.1 Ωcondition, if the conductivity range you are using is out of specification, extra error will be introduced. +^  Pin Number  ^  Signal Name  ^  Pin Description 
-</note>+|  Pin   I(+  (+) RTD Excitation Current Pin  | 
 +|  Pin 2  |  V(+)  |  (+) RTD Voltage Sense Pin  | 
 +|  Pin 3  |  V(-)  |  (-) RTD Voltage Sense Pin  | 
 +|  Pin 4  |  I(-)  |  (-) RTD Excitation Current Pin  |
  
-The connections for different sensor please reference following picture:+During RTD measurement, constant excitation current flows into the RTD through the I pins, and the resulting voltage difference across the V pins is sampled by the microcontroller ADCs.
  
-**2-electrode conductivity sensor connection** +Refer to the following pictures for the different RTD wire mode connections. **RTD connections are the same for both Rev A and Rev B evaluation boards.**
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_conductivity2w.jpg?direct |}}+
  
-<note important> +==== RTD 4-Wire Connections ==== 
-If using 2-electrode sensors connected to CN0359 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-rtd-4w-small.png?direct |}}
-  * pin1 ⇔ pin2 of J5 **MUST** be shorted +
-  * pin3 ⇔ pin4 of J5 **MUST** be shorted +
-</note>+
  
 ---- ----
  
-**4-electrode conductivity sensor connection** +==== RTD 3-Wire Connections ==== 
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_conductivity4w.jpg?direct |}}+{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-rtd-3w-small.png?direct |}}
  
 ---- ----
  
-The I signal inject the excitation current into conductivity sensor, after the amplifier the I and V signal will be sample by ADC to measure.+==== RTD 2-Wire Connections ==== 
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-rtd-2w-small.png?direct |}} 
 +\\ 
 +----
  
-===== RS-485 interface connections =====+===== Data Communications Interface Connections =====
  
-The EVAL-CN0359-EB1Z **J2** is RS-485 connector.+Connector **J2** allows users to control the CN0359 remotely via a network. The interface supported by J2 differs based on the evaluation board revision.
  
-The J2 pin map is following: +==== Rev A: RS-485 ====
-| Pin Number | Signal Name | Pin Description | +
-| Pin 1 | B | RS-485 B Signal | +
-| Pin 2 | GND | Ground | +
-| Pin 3 | A | RS-485 A Signal |+
  
-<note tip>The CN0359 software support up to 254 (RS-485 address from 1 to 254) boards connected to one RS-485 networkbut for the noise performance the RS-485 terminal resistor R10 on EVAL-CN0359-EB1Z PCB is set to 10kΩ, if you want to use multiply devices on same RS-485 network maybe you need to change or remove R10 to following the RS-485 standard, for more detail about RS-485 network please reference www.analog.com/an-960 or ANSI/TIA/EIA-485 standard</note>+<hidden> 
 +In the Rev A evaluation boards, J2 is a terminal block with the following pin map: 
 +^  Pin Number  ^  Signal Name  ^  Pin Description 
 +|  Pin 1  |  B  |  RS-485 B Signal 
 +|  Pin 2  |  GND  |  Ground 
 +|  Pin 3  |  A  |  RS-485 A Signal  |
  
-**RS-485 pin map**+<note tip>The CN0359 software is capable of supporting up to 254 boards (with RS-485 addresses from 1 to 254) connected to one RS-485 network. To improve noise performance, the RS-485 terminal resistor (R10) on the Rev A boards is set to 10 kΩ. 
 +\\ 
 +\\ 
 +If multiple devices will be used on the same RS-485 network, R10 may need to be changed (or removed completely) to comply with the RS-485 standard. For more information about RS-485, refer to: www.analog.com/an-960 or ANSI/TIA/EIA-485 standard</note> 
 + 
 +**J2 Pin Map (Rev A)**
 {{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_rs485.jpg?direct |}} {{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359_rs485.jpg?direct |}}
 +</hidden>
 +\\
 +
 +==== Rev B: UART Interface ====
  
 +<hidden initialState="visible">
 +In the Rev B evaluation boards, J2 is a 2×5, 2.54 mm female header with the following pin map:
 +\\
 +\\
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-uart-pin-map.png?240|}}
 +^  Pin Number  ^  Signal Name  ^  Pin Description  ^
 +|  Pin 1  |  3V3  |  3.3 V Power  |
 +|  Pin 2  |  RX  |  CN0359 Receive Data  |
 +|  Pin 3  |  NC  |  No Connection  |
 +|  Pin 4  |  TX  |  CN0359 Transmit Data  |
 +|  Pin 5  |  GND  |  Ground  |
 +|  Pin 6  |  NC  |  No Connection  |
 +|  Pin 7  |  GND  |  Ground  |
 +|  Pin 8  |  NC  |  No Connection  |
 +|  Pin 9  |  NC  |  No Connection  |
 +|  Pin 10  |  NC  |  No Connection  |
 +</hidden>
 +\\
 ---- ----
  
-===== JTAG/SWD connections =====+===== JTAG/SWD Connections =====
  
-The EVAL-CN0359-EB1Z **J4** is the JTAG/SWD debug connector.  This JTAG/SWD connector is pin compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Link]] debug probe.+Connector **J4** allows users to debug and/or program the CN0359 through a JTAG/SWD debug probe. The physical form factor of this connector differs based on the evaluation board revision. 
 +\\ 
 +\\  
 +The JTAG/SWD debug interface on the CN0359 only supports SWD mode. 
 +\\ 
 +\\ 
 +==== Rev A: Standard ARM JTAG ====
  
-The EVAL-CN0359-EB1Z JTAG/SWD debug interface only support SWD debug mode.+<hidden> 
 +In the Rev A boards, J4 is pin compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Link]] debug probes that have the standard 20-pin connector/cable. The following table shows the pin map of J4 in this case: 
 +\\ 
 +\\ 
 +^  Pin Number  ^  Signal Name  ^ Pin Description 
 +|  Pin 1  |  VTref  | Target Reference Voltage. Connected to the 3.3 V supply rail on the CN0359. 
 +|  Pin 2  |  NC  | No Connection 
 +|  Pin 3  |  NC  | No Connection 
 +|  Pin 4  |  GND  | Ground 
 +|  Pin 5  |  NC  | No Connection 
 +|  Pin 6  |  GND  | Ground 
 +|  Pin 7  |  SWDIO  | SWD Data. Single bi-directional data line.  | 
 +|  Pin 8  |  GND  | Ground 
 +|  Pin 9  |  SWDCLK SWD ClockConnected to the SWDCLK pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 10  |  GND  | Ground 
 +|  Pin 11  |  NC  | No Connection 
 +|  Pin 12  |  GND  | Ground 
 +|  Pin 13  |  NC  | No Connection 
 +|  Pin 14  |  GND  | Ground 
 +|  Pin 15  |  RESET  | Target Reset Signal. Connected to the RESET pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 16  |  GND  | Ground 
 +|  Pin 17  |  NC  | No Connection 
 +|  Pin 18  |  GND  | Ground 
 +|  Pin 19  |  NC  | No Connection 
 +|  Pin 20  |  GND  | Ground 
 +</hidden> 
 +\\
  
-====== Usage Instructions ======+==== Rev B: Mini-JTAG ====
  
-The CN0359 system runs using a 6V DC wall connector (EVAL-CFTL-6V-PWRZ) and will run automatically when the power on The system has two interfaces to show the conductivity and RTD resultsLCD screen and RS-485 interface, and those two interfaces can working simultaneously as well.+<hidden initialState="visible"> 
 +In the Rev B boards, J4 is pin compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Link]] debug probes that have the smaller 10-pin connector/cable. The following table shows the pin map of J4 in this case: 
 +\\ 
 +\\ 
 +^  Pin Number  ^  Signal Name  ^ Pin Description 
 +|  Pin 1  |  VTref  | Target Reference Voltage. Connected to the 3.3 V supply rail on the CN0359. 
 +|  Pin 2  |  SWDIO  | SWD Data. Single bi-directional data line | 
 +|  Pin 3  |  GND  | Ground 
 +|  Pin 4  |  SWDCLK  | SWD Clock. Connected to the SWDCLK pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 5  |  GND  | Ground 
 +|  Pin 6  |  NC  | No Connection 
 +|  Pin 7  |  NC  | No Connection 
 +|  Pin 8  |  NC  | No Connection 
 +|  Pin 9  |  NC  | No Connection 
 +|  Pin 10  |  RESET  | Target Reset Signal. Connected to the RESET pin of the [[adi>ADuCM360]] on the CN0359. 
 +</hidden> 
 +\\
  
-<note tip>The CN0359 usage is depend on the software version, maybe there have difference between following instructions and shipped CN0359, please check [[http://www.analog.com/cn0359-DesignSupport]] for latest software update download</note>+====== Usage Instructions ======
  
-The CN0359 has the following opinions which can be set by the user: +The CN0359 is powered from a 6V DC wall connector (EVAL-CFTL-6V-PWRZ) and will run automatically when the supply is plugged in. The conductivity and RTD measurements can be displayed using two interfacesthe onboard LCD screen or the remote network interface (RS-485 for Rev A; UART for Rev B). Both interfaces can also be used simultaneously if desired.
-  * Excitation voltage +
-  * Excitation frequency +
-  * Track-hold setup time +
-  * Track-hold hold time +
-  * Temperature coefficient +
-  * Conductivity cell constant +
-  * RS-485 baud rate +
-  * RS-485 address +
-  * LCD contrast+
  
-<note warning>Please check with the conductivity sensor excitation signal requirements in sensor's datasheet before connecting the sensor or changing the setting, to make sure no damage is caused by inappropriate setting.</note>+The CN0359 has the following settings that can be programmed by the user: 
 +  * Excitation Voltage 
 +  * Excitation Frequency 
 +  * Track-Hold Setup Time 
 +  * Track-Hold Hold Time 
 +  * Temperature Coefficient 
 +  * Conductivity Cell Constant 
 +  * Baud Rate 
 +  * RS-485 Address (//Rev A only//) 
 +  * LCD Contrast 
 + 
 +<note warning>Always check the excitation voltage and frequency before connecting the conductivity sensor to the CN0359 evaluation board. Using a setting that is outside the specifications of the sensor can cause damage.</note> 
 +\\
  
 ===== LCD Screen and Encoder User Interface ===== ===== LCD Screen and Encoder User Interface =====
  
-The LCD screen can show the measurement results and settings of CN0359, user interactive with CN0359 could be done using the LCD and encoder **S1**.+By default, the LCD screen will display the measurement results of the CN0359. When used with the encoder **S1** however, it can instead be used to navigate a menu-based interface to configure the different CN0359 settings listed above. 
 +\\ 
 +\\
  
-==== General usage instructions ====+==== General Usage Instructions ====
  
-The CN0359 LCD display area have 3 status with different meaning+The text in the menu interface can have one of the three following states
-  normal status (dark font with light background) ⇒ item normal displayed +| **Normal** (dark font with light background) | Indicates an available option or value | 
-  reverse status (light font with dark background) ⇒ item has been selected +| **Reverse** (light font with dark background) | Indicates the currently selected option or value | 
-  blink status (keep flipping between normal status and reverse status→ item has been selected and in value chang status+| **Blinking** (switches between normal and reverse states| Indicates a value that is currently being edited by the user |
  
-The CN0359 encoder **S1** can be turned clockwise or counterclockwise (no mechanical stop), and can also be used as a push button. The following is the encoder operating meaning+To interact with the menu items, the encoder **S1** can be turned clockwise or counterclockwise. It has no mechanical stop, and can also be used as a push button. The following details the operation of the encoder: 
-  * turn clockwise at reverse status ⇒ change selection to next item. +^ Control Menu via S1 ^ Equivalent Operation ^ 
-  * turn clockwise at blink status ⇒ increase value +| Turn clockwise when there is no blinking text | Move to the next option or value | 
-  * turn counterclockwise at reverse status ⇒ change selection to previous item +| Turn clockwise while there is blinking text | Increase value | 
-  * turn counterclockwise at blink status ⇒ decrease value +| Turn counterclockwise when there is no blinking text | Go back to previous option or value | 
-  push button at reverse status ⇒ enter selected item +| Turn counterclockwise while there is blinking text | Decrease value 
-  push button at blink status ⇒ exit blinked item+| Push button when there is no blinking text | Use option or start editing value | 
 +| Push button while there is blinking text | Stop editing value | 
 +\\ 
 +There are two **exceptions** to the behavior described above: 
 +| **Home or Measurement Screen** | There is no selectable option or value in this screen so turning the encoder will have no effect. \\ Push the button to enter the main menu interface. | 
 +**LCD Contrast Setting Screen** | Turning the encoder clockwise/counterclockwise will increase/decrease LCD contrast, respectively. \\ Push the button to return to the main menu. | 
 +\\
  
-<note> +The CN0359 also has a buzzer on the evaluation board. When editing a valueit will provide an audible indication when the maximum or minimum setting has been reached. 
-There have two exception dialogs: +\\ 
-  * home dialog ⇒ no selected item in this dialogpush button will enter setting menu +\\
-  * LCD contrast setting dialog ⇒ in case the LCD display abnormal there is no blinked item in this dialog, turn encoder clockwise/counterclockwise will increase/decrease LCD contrast, push button will return +
-</note>+
  
-The CN0359 have a buzzer on PCB, it will beeping when value limit reached or notify asserted.+==== CN0359 Start Up and LCD Contrast ====
  
-==== CN0359 start up and LCD contrast ==== +The contrast of the LCD screen can be set by the user; however, if the LCD contrast is set improperlythe text may become difficult to read. If needed, the following procedure can be used to "blindly" adjust the LCD contrast: 
- +  - Power up the CN0359 evaluation board. If the onboard buzzer beeps for 50 ms immediately, the system was able to load the previous settings properly
-The CN0359 LCD screen contrast can be set by user, if the LCD contrast value set improper it will cause LCD display murky dull or have crosstalkin this case user need to recover LCD contrast blindly, the following step can adjust LCD contrast blindly+  - Push the encoder button **S1** within 3 seconds after powering on. 
-  - power up CN0359the CN0359 will beep for 50ms immediately, this means all setting is right, flash disk is good+  - The onboard buzzer will beep for 100 ms twicewith an short interval of 100 ms in between. This indicates that the interface is now in the LCD contrast setting screen. 
-  - the LCD should be showing the splash screen for 3s, maybe LCD show nothing or black screen if the contrast set improper, please push encoder button **S1** within 3s from powering on in splash screen+  - Turn the encoder **S1** clockwise/counterclockwise to increase/decrease LCD contrast. Adjust it such that the text will appear clearly and sharply. 
-  - the CN0359 will beeping 100ms two times, interval 100ms, this means the CN0359 entered LCD contrast setting status +  - Push the button **S1** to exit the LCD contrast setting screen. 
-  - turning the encoder **S1** clockwise/counterclockwise will increase/decrease LCD contrast, set the LCD display to clear and sharp +  - Select the "Return to home" option in the main menu and press the button. The new LCD contrast setting should now be saved
-  - push button **S1** return to setting dialog +\\
-  - enter "reurn to home" menu item, CN0359 LCD will display properly and contrast setting will be saved+
  
 ==== Buzzer and Alarm ==== ==== Buzzer and Alarm ====
-The EVAL-CN0359-EB1Z board have a buzzer **U2** on it, the buzzer will beeping in the following cases+The CN0359 evaluation board has a buzzer **U2** on it that produces notification sounds during operation. The buzzer is activated in the following events
-  * notify beeping 50ms at power up +  * Beeps once after connecting power to the board, and beeps again after the home/measurement screen appears. 
-  * notify beeping 200ms when from splash screen entering home dialog +  * Beeps twice if button is pushed while the splash screen is displayed during power-up. If this occursthe interface will enter the LCD contrast setting screen. 
-  * notify beeping 100ms twice, interval 100ms, when button pushed at splash screen, entering LCD contrast setting dialog +  * Beeps five times rapidly if an internal error is encountered during start up. When this occurs, all settings will be reset to their default values. 
-  * alarm beeping 50ms for 5 times, interval 50ms when startup internal error, then means all the settings restore to default value, if this error asserted, please set all the settings to requirement +  * Beeps whenever an RTD error is encountered while at the home/measurement screen. Check the RTD connection when this occurs. 
-  * alarm beeping 10ms at home dialog when RTD error, if this error asserted, please check RTD connection +  * Beeps whenever a conductivity sensor error is encountered while at the home/measurement screen. Check the sensor connection when this occurs. 
-  * alarm beeping 100ms at home dialog when conductivity sensor error, if this error asserted, please check conductivity sensor connection +  * Beeps when user tries to set a programmable value (e.g., EXC voltage, EXC freq, etc.) outside the acceptable range. 
-  * notify beeping 10ms if encoder turned to against software limit+\\
  
 +===== Data Communications Interface =====
  
 +<note important>To communicate with the CN0359 from a PC, use a RS-485 to USB converter (or UART to USB bridge, depending on the version of the board) and a terminal emulator such as [[http://www.putty.org/|Putty]] or [[https://ttssh2.osdn.jp/index.html.en|Tera Term]]. Please check the settings of your software before connecting to the board. The output of the terminal program must match the following command formats.</note>
  
-====RS-485 Interface =====+<note tip> 
 +The RS-485 interface for Rev A, and the UART interface for Rev B both use char '\n' LF (Line Feed) as the ending character. This means that the CN0359 will respond to a valid command immediately after receiving char '\n'. Please make sure that char '\n' is the last byte that will be sent to CN0359 in each command string. Some serial port terminal software can automatically add char '\n' to the output stream upon pressing the Return key. For software that cannot append char '\n' automatically, the command string should be sent to the CN0359 in hexadecimal format with 0x0a appended. 
 +\\ 
 +\\ 
 +The CN0359 software uses char ' ' (i.e., the space character) as a delimiter in the command string. 
 +</note> 
 +\\ 
 + 
 +==== Rev A: RS-485 Command Usage ====
  
-The RS-485 interface can connect multi (up to 254) CN0359 in the same RS-485 networkin the following chapter the CN0359 in the RS-485 network will be called client, the PC or any type of RS-485 device who can initiate the communications will be called host. Please notice: because the CN0359 use the single duplex mode RS-485 network, so there only one device can send the data at the same time, otherwise the RS-485 network will involve into the signal conflict, this will cause unpredictable result. In usually the CN0359 RS-485 network have only one host, if you have multi host in the network, please make sure there is no conflict occur in any time.+<hidden> 
 +In this user guide, the CN0359 is referred to as the client, and the PC (or any device used to initiate communication) is referred to as the host.
  
-The in the RS-485 network all the clients will keep in receive status in idle time. The client only send data when it response the right command.+The half-duplex RS-485 interface used in Rev A boards can connect multiple (up to 254) clients in the same network. All clients are kept in receive status while idle, and can only transmit data when given the appropriate command.
  
-<note important 80%+<note warning
-The EVAL-CN0359-EB1Z board RS-485 address can only be set by LCD interface.  Make sure you set the address first before trying to send RS-485 commands to the board.+Only one device can send data at the a given time in this configuration; otherwise the RS-485 network will encounter signaling conflicts. If multiple hosts exist in your network, please ensure that no such conflicts occur.
 </note> </note>
-==== RS-485 command usage ==== 
  
-The CN0359 command format is following:+<note important> 
 +The RS-485 address can only be changed through the LCD and encoder user interface. Set the desired address first prior to sending commands to the board. 
 +</note> 
 + 
 +The following format is used to explain the different RS-485 commands in this user guide:
  
 **SYNOPSIS** **SYNOPSIS**
  
-**address** **command** [options]  +//address// **command** __option__
  
 **DESCRIPTION** **DESCRIPTION**
- 
-**address** is the integer value of CN0359 address, range from 1 to 254, the **address** should be issue before any command to wake corresponding CN0359 to receive **command** 
  
 <note tip> <note tip>
-The CN0359 RS-485 interface use char '\n' LF (Line Feed) as ending character, that means the CN0359 will response the right command immediately after received char '\n', to prevent the half duplex RS-485 signal conflictplease make sure the char '\n' is the last byte send to CN0359 in one command string. Some of serial port terminal software add '\n' char to output stream when you press return key, if the software can not append '\n' automatically please send the command string in hexadecimal format append with 0x0a. +The //address// is the integer value of the RS-485 addressranging from 1 to 254. The //address// should always go before the **command** and the __option__ for proper communication to the corresponding CN0359.
- +
-The CN0359 use char ' ' space character as delimiter, please make sure no ' ' space character lost in command string.+
 </note> </note>
  
 ---- ----
  
-=== poll ===+**poll - Query CN0359**
  
-**NAME**+//address// **poll**
  
-poll query setting and result+The **poll** command is used to query the CN0359 for its programmed settings and its sensor readings. For example, entering the following will query the CN0359 at address 100 for its settings and its measurements:
  
-**SYNOPSIS**+    100 poll
  
-**poll**+----
  
-**DESCRIPTION**+**setvolt - Set Excitation Voltage**
  
-The **poll** command use to query the CN0359 for setting measurement result.+//address// **setvolt** __voltage__
  
-This example:+The **setvolt** command is used to set the peak voltage of the cell excitation signal, ranging from 0.1 V to 10 V. For example, the following command will set a 2.5 V peak excitation voltage for the CN0359 at address 100:
  
-    100 poll +    100 setvolt 2.5
- +
-will query the address 100 of CN0359 for setting and result+
  
 ---- ----
  
-=== setvolt ===+**setfreq - Set Excitation Frequency**
  
-**NAME**+//address// **setfreq** __frequency__
  
-setvolt - set excitation voltage+The **setfreq** command is used to set the frequency of the cell excitation signal, ranging from 10 Hz to 100000 Hz. For example, the following command will set an 85.6 Hz excitation frequency for the CN0359 at address 100:
  
-**SYNOPSIS**+    100 setfreq 85.6
  
-**setvolt** __voltage__+----
  
-**DESCRIPTION**+**setk - Set Cell Constant**
  
-The **setvolt** command use to set the excitation voltage, the __voltage__ is peak value of voltage, __voltage__ is float type number range from 0.1 to 10+//address// **setk** __K__
  
-This example:+The **setk** command is used to input the cell constant of the conductivity sensor used, ranging from 0.01 cm<sup>-1</sup> to 100 cm<sup>-1</sup>. For example, the following command will input a cell constant of 1.268 cm<sup>-1</sup> to the CN0359 at address 100:
  
-    100 setvolt 2.+    100 setk 1.268
- +
-will set the address 100 of CN0359 excitation voltage to 2.5V+
  
 ---- ----
  
-=== setfreq ===+**setcof - Set Temperature Coefficient**
  
-**NAME**+//address// **setcof** __coefficient__
  
-setfreq set excitation frequency+The **setcof** command is used to input the temperature coefficient of the test sample, ranging from -10%/°C to 10%/°C. For example, the following command will input a -2.58%/°C temperature coefficient to the CN0359 at address 100:
  
-**SYNOPSIS**+    100 setcof -2.58
  
-**setfreq** __frequency__+----
  
-**DESCRIPTION**+**setstm - Set Track-And-Hold Setup Time**
  
-The **setfreq** command use to set the excitation frequency, __frequency__ is float type number range from 10 to 100000+//address// **setstm** __time__
  
-This example:+The **setstm** command is used to set the track-and-hold setup time as a percentage of a half excitation period, ranging from 0% to 80%.
  
-    100 setfreq 85.6+<note>Setup time is measured from the start of a half excitation period to the moment the CN0359 begins tracking the measurement voltages.</note>
  
-will set the address 100 of CN0359 excitation frequency to 85.6Hz+For example, the following command will set a 5.8% setup time for the CN0359 at address 100
 + 
 +    100 setcof 5.8 
 + 
 +If the excitation frequency is 100Hz, then half of the period will be 5 ms. The track-and-hold setup time in this example will therefore be 290 μs.
  
 ---- ----
  
-=== setk ===+**sethtm - Set Track-And-Hold Hold Time** 
 + 
 +//address// **sethtm** __time__ 
 + 
 +The **sethtm** command is used to set the track-and-hold hold time as a percentage of a half excitation period, ranging from 0% to 10%. 
 + 
 +<note>Hold time is measured from the moment the CN0359 stops tracking the measurement voltages to the end of a half excitation period.</note> 
 + 
 +For example, the following command will set a 1.5% hold time for the CN0359 at address 100: 
 + 
 +    100 sethtm 1.5 
 + 
 +If the excitation frequency is 1 kHz, then half of the period will be 500 μs. The track-and-hold hold time in this example will therefore be 7.5 μs. 
 +\\ 
 +</hidden> 
 +\\ 
 +\\
  
-**NAME**+==== Rev B: UART Command Usage ====
  
-setk - set cell constant+<hidden initialState="visible"> 
 +The following format is used to explain the different UART commands in this user guide:
  
 **SYNOPSIS** **SYNOPSIS**
  
-**setk** __K__+**command** __option__
  
 **DESCRIPTION** **DESCRIPTION**
  
-The **setk** command use to set the cell constant, __K__ is float type number range from 0.01 to 100+----
  
-This example:+**poll - Query CN0359**
  
-    100 setk 1.268+**poll**
  
-will set the address 100 of CN0359 cell constant to 1.268/cm+The **poll** command is used to query the CN0359 for its programmed settings and its sensor readings. For example, entering the following will query the CN0359 via UART for its settings and its measurements: 
 + 
 +    poll 
 + 
 +\\ 
 +Below is a sample UART output obtained using the **poll** command: 
 +\\ 
 +\\ 
 +{{  :resources:eval:user-guides:circuits-from-the-lab:cn0359:poll_output.png?600  |}} 
 +\\
  
 ---- ----
  
-=== setcof ===+**setvolt - Set Excitation Voltage**
  
-**NAME**+**setvolt** __voltage__
  
-setcof - set temperature coefficient+The **setvolt** command is used to set the peak voltage of the cell excitation signal, ranging from 0.1 V to 10 V. For example, the following command will set a 2.5 V peak excitation voltage for the CN0359 via UART:
  
-**SYNOPSIS**+    setvolt 2.5
  
-**setcof** __coefficient__+----
  
-**DESCRIPTION**+**setfreq - Set Excitation Frequency**
  
-The **setcof** command use to set the temperature coefficient, __coefficient__ is float type number range from -10 to 10+**setfreq** __frequency__
  
-This example:+The **setfreq** command is used to set the frequency of the cell excitation signal, ranging from 10 Hz to 100000 Hz. For example, the following command will set an 85.6 Hz excitation frequency for the CN0359 via UART:
  
-    100 setcof -2.58+    setfreq 85.6
  
-will set the address 100 of CN0359 temperature coefficient to -2.58%/°C+---- 
 + 
 +**setk - Set Cell Constant** 
 + 
 +**setk** __K__ 
 + 
 +The **setk** command is used to input the cell constant of the conductivity sensor used, ranging from 0.01 cm<sup>-1</sup> to 100 cm<sup>-1</sup>For example, the following command will input a cell constant of 1.268 cm<sup>-1</sup> to the CN0359 via UART: 
 + 
 +    setk 1.268
  
 ---- ----
  
-=== setstm ===+**setcof - Set Temperature Coefficient**
  
-**NAME**+**setcof** __coefficient__
  
-setstm set track-hold setup time+The **setcof** command is used to input the temperature coefficient of the test sample, ranging from -10%/°C to 10%/°C. For example, the following command will input a -2.58%/°C temperature coefficient to the CN0359 via UART:
  
-**SYNOPSIS**+    setcof -2.58 
 + 
 +---- 
 + 
 +**setstm - Set Track-And-Hold Setup Time**
  
 **setstm** __time__ **setstm** __time__
  
-**DESCRIPTION**+The **setstm** command is used to set the track-and-hold setup time as a percentage of a half excitation period, ranging from 0% to 80%.
  
-The **setstm** command use to set the track-hold setup time, the __time__ is the percentage of half excitation period, __time__ is float type number range from 0 to 80+<note>Setup time is measured from the start of half excitation period to the moment the CN0359 begins tracking the measurement voltages.</note>
  
-<note>setup time: the time from excitation signal transient to track beginning time</note>+For example, the following command will set a 5.8% setup time for the CN0359 via UART:
  
-This example:+    setcof 5.8
  
-    100 setcof 5.8+If the excitation frequency is 100Hz, then half of the period will be ms. The track-and-hold setup time in this example will therefore be 290 μs.
  
-will set the address 100 of CN0359 track-hold setup time to 5.8% of half excitation period. If excitation frequency is 100Hz, the half of excitation period will be 5ms, track-hold setup time will be 290us+----
  
 +**sethtm - Set Track-And-Hold Hold Time**
 +
 +**sethtm** __time__
 +
 +The **sethtm** command is used to set the track-and-hold hold time as a percentage of a half excitation period, ranging from 0% to 10%.
 +
 +<note>Hold time is measured from the moment the CN0359 stops tracking the measurement voltages to the end of a half excitation period.</note>
 +
 +For example, the following command will set a 1.5% hold time for the CN0359 via UART:
 +
 +    sethtm 1.5
 +
 +If the excitation frequency is 1 kHz, then half of the period will be 500 μs. The track-and-hold hold time in this example will therefore be 7.5 μs.
 +\\
 +</hidden>
 +\\
 +\\
 ---- ----
  
-=== sethtm ===+====== Software Programming ======
  
-**NAME**+This section will describe the CN0359 software and the process for programming the evaluation board.
  
-sethtm - set track-hold hold time+===== Hardware Interface =====
  
-**SYNOPSIS**+Connector **J4** allows users to debug and/or program the CN0359 through a JTAG/SWD debug probe. The physical form factor of this connector differs based on the evaluation board revision. 
 +\\ 
 +\\  
 +The JTAG/SWD debug interface on the CN0359 only supports SWD mode. 
 +\\ 
 +\\ 
 +<note important> 
 +A J-Link debug probe (or equivalent) is needed to download the firmware to the onboard [[adi>ADuCM360]] of the CN0359. 
 +</note>
  
-**sethtm** __time__+<note tip>Details regarding the J-Link debug probe can be found at [[https://www.segger.com/downloads/jlink|J-Link Manual]]</note> 
 +\\
  
-**DESCRIPTION**+==== Rev A: Standard ARM JTAG ====
  
-The **sethtm** command use to set the track-hold hold timethe __time__ is the percentage of half excitation period, __time__ is float type number range from 0 to 10+<hidden> 
 +In the Rev A boardsJ4 is pin compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Link]] debug probes that have the standard 20-pin connector/cable. The following table shows the pin map of J4 in this case: 
 +\\ 
 +\\ 
 +^  Pin Number  ^  Signal Name  ^ Pin Description 
 +|  Pin 1  |  VTref  | Target Reference Voltage. Connected to the 3.3 V supply rail on the CN0359. 
 +|  Pin 2  |  NC  | No Connection 
 +|  Pin 3  |  NC  | No Connection 
 +|  Pin 4  |  GND  | Ground 
 +|  Pin 5  |  NC  | No Connection 
 +|  Pin 6  |  GND  | Ground 
 +|  Pin 7  |  SWDIO  | SWD Data. Single bi-directional data line.  | 
 +|  Pin 8  |  GND  | Ground 
 +|  Pin 9  |  SWDCLK  | SWD Clock. Connected to the SWDCLK pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 10   GND  | Ground 
 +|  Pin 11  |  NC  | No Connection 
 +|  Pin 12  |  GND  | Ground 
 +|  Pin 13  |  NC  | No Connection 
 +|  Pin 14  |  GND  | Ground 
 +|  Pin 15  |  RESET  | Target Reset Signal. Connected to the RESET pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 16  |  GND  | Ground 
 +|  Pin 17  |  NC  | No Connection 
 +|  Pin 18  |  GND  | Ground 
 +|  Pin 19  |  NC  | No Connection 
 +|  Pin 20  |  GND  | Ground 
 +</hidden> 
 +\\ 
 +\\
  
-<note>hold timethe time from track ending time to  excitation signal transient</note>+==== Rev BMini-JTAG ====
  
-This example:+<hidden initialState="visible"> 
 +In the Rev B boards, J4 is pin compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Link]] debug probes that have the smaller 10-pin connector/cable. The following table shows the pin map of J4 in this case: 
 +\\ 
 +\\ 
 +^  Pin Number  ^  Signal Name  ^ Pin Description 
 +|  Pin 1  |  VTref  | Target Reference Voltage. Connected to the 3.3 V supply rail on the CN0359. 
 +|  Pin 2  |  SWDIO  | SWD Data. Single bi-directional data line.  | 
 +|  Pin 3  |  GND  | Ground 
 +|  Pin 4  |  SWDCLK  | SWD Clock. Connected to the SWDCLK pin of the [[adi>ADuCM360]] on the CN0359. 
 +|  Pin 5  |  GND  | Ground 
 +|  Pin 6  |  NC  | No Connection 
 +|  Pin 7  |  NC  | No Connection 
 +|  Pin 8  |  NC  | No Connection 
 +|  Pin 9  |  NC  | No Connection 
 +|  Pin 10  |  RESET  | Target Reset Signal. Connected to the RESET pin of the [[adi>ADuCM360]] on the CN0359. 
 +</hidden> 
 +\\
  
-    100 sethtm 1.5+===== Downloading the Firmware to the CN0359 =====
  
-will set the address 100 of CN0359 track-hold hold time to 1.5% of half excitation period. If excitation frequency is 1kHz, the half of excitation period will be 500us, track-hold hold time will be 7.5us+**__To download the firmware to the CN0359 evaluation board:__**
  
-====== Software Programming ======+1. Download and install the latest [[https://www.segger.com/downloads/jlink|J-Link Software and Documentation Pack]].
  
-In this section we are going to talk about how to program the EVAL-CN0359-EB1Z.  We are also going to describe the software and how it works, so that you can change parameters to more closely fit your system requirements.+2a__For Rev A evaluation boards:__
  
-===== How to download binary firmware to the CN0359 =====+<hidden> 
 +Download the latest [[adi>cn0359-designsupport|CN0359 Design & Integration Files]] and extract the contents of //CN0359 Source Code Package// in //CN0359 Design & Integration Files//.  
 +\\ 
 +</hidden> 
 +\\
  
-The EVAL-CN0359-EB1Z evaluation board have a JTAG/SWD debug interface **J4**, the **J4** connector is 0.1 inch pitch 20 pins male header, the header pin map compatible with [[https://www.segger.com/jlink-debug-probes.html|SEGGER J-Links]], to download binary firmware to MCU (ADuCM360) of CN0359 you need a //J-Link// debug probe or equivalent.+2b. __For Rev B evaluation boards:__
  
-The following step will download the binary firmware to EVAL-CN0359-EB1Z evaluation board:+<hidden initialState="visible"> 
 +Download the latest release of ADuCM360_demo_cn0359 from [[repo>EVAL-ADICUP360]]. Currently, Release 1.0 is available[[repo>EVAL-ADICUP360/releases/download/Release-1.0/ADuCM360_demo_cn0359]] 
 +\\ 
 +</hidden> 
 +\\
  
-  - Download latest [[https://www.segger.com/downloads/jlink|J-Link Software and Documentation Pack]] to your computer hard disk +3Connect the J-Link debug probe to the USB port of your computer and to **J4** on the CN0359 evaluation board (using a 20-pin/10-pin JTAG/SWD adapter). 
-  - Download latest [[http://www.analog.com/cn0359-designsupport|CN0359 Design & Integration Files]] to your computer hard disk + 
-  - Install J-Link Software and Documentation Pack to your computer following the instructions in package +4. Power up the CN0359 evaluation board. 
-  - Extract //CN0359 Design & Integration Files// to your computer hard disk + 
-  - Extract //CN0359 source code package// in //CN0359 Design & Integration Files// to your computer hard disk +5. Run J-Link Commander. 
-  - Find the "CN0359.bin" binary file in CN0359 source code package, usually it in: "x:\yyy\CN0359\Release\CN0359.bin", x is your disk driver, yyy is the path of CN0359 source code package, remembers the path for later use + 
-  - Connect J-Link debug probe to the USB port of your computer and EVAL-CN0359-EB1Z evaluation board **J4** +<code>
-  Power on EVAL-CN0359-EB1Z evaluation board +
-  - Open J-Link from command line <code>+
     SEGGER J-Link Commander V6.00i (Compiled Sep  2 2016 19:25:27)     SEGGER J-Link Commander V6.00i (Compiled Sep  2 2016 19:25:27)
     DLL version V6.00i, compiled Sep  2 2016 19:25:12     DLL version V6.00i, compiled Sep  2 2016 19:25:12
Line 401: Line 624:
     License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull     License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
     VTref = 3.300V     VTref = 3.300V
-    Type "connect" to establish a target connection, '?' for help </code> +    Type "connect" to establish a target connection, '?' for help  
-  In J-Link command line terminal input command: //**device ADuCM360**// press return <code> +</code> 
-    J-Link>device ADuCM360 </code> +\\ 
-  In J-Link command line terminal input command: //**if swd**// press return <code>+ 
 +6. In the J-Link terminal, enter the command: //**device ADuCM360**// 
 + 
 +<code> 
 +    J-Link>device ADuCM360  
 +</code> 
 +\\ 
 + 
 +7. In the J-Link terminal, enter the command: //**if swd**// 
 + 
 +<code>
     J-Link>if swd     J-Link>if swd
-    Selecting SWD as current target interface. </code> +    Selecting SWD as current target interface. 
-  In J-Link command line terminal input command: //**speed 4000**// press return <code>+</code> 
 +\\ 
 + 
 +8. In the J-Link terminal, enter the command: //**speed 4000**// 
 + 
 +<code>
     J-Link>speed 4000     J-Link>speed 4000
-    Selecting 4000 kHz as target interface speed </code> +    Selecting 4000 kHz as target interface speed  
-  In J-Link command line terminal input command: //**erase**// press return <code>+</code> 
 +\\ 
 + 
 +9. In the J-Link terminal, enter the command: //**erase**// 
 + 
 +<code>
     J-Link>erase     J-Link>erase
     Target connection not established yet but required for command.     Target connection not established yet but required for command.
     Device "ADUCM360" selected.     Device "ADUCM360" selected.
 +    Connecting to target via SWD
     Found SWD-DP with ID 0x2BA01477     Found SWD-DP with ID 0x2BA01477
-    AP-IDR: 0x24770011, Type: AHB-AP+    DPIDR: 0x2BA01477 
 +    CoreSight SoC-400 or earlier 
 +    Scanning AP map to find all available APs 
 +    AP[1]: Stopped AP scan as end of AP map has been reached 
 +    AP[0]: AHB-AP (IDR: 0x24770011
 +    Iterating through AP map to find AHB-AP to use 
 +    AP[0]: Core found 
 +    AP[0]: AHB-AP ROM base: 0xE00FF000 
 +    CPUID register: 0x412FC230. Implementer code: 0x41 (ARM)
     Found Cortex-M3 r2p0, Little endian.     Found Cortex-M3 r2p0, Little endian.
     FPUnit: 6 code (BP) slots and 2 literal slots     FPUnit: 6 code (BP) slots and 2 literal slots
     CoreSight components:     CoreSight components:
-    ROMTbl 0 @ E00FF000 +    ROMTbl[0@ E00FF000 
-    ROMTbl 0 [0]: FFF0F000, CIDB105E00DPID002BB000 SCS +    [0][0]: E000E000 CID B105E00D PID 002BB000 SCS 
-    ROMTbl 0 [1]: FFF02000, CIDB105E00DPID002BB002 DWT +    [0][1]: E0001000 CID B105E00D PID 002BB002 DWT 
-    ROMTbl 0 [2]: FFF03000, CIDB105E00DPID002BB003 FPB+    [0][2]: E0002000 CID B105E00D PID 002BB003 FPB
     Cortex-M3 identified.     Cortex-M3 identified.
-    Erasing device (ADUCM360)...+    Without any given address range, Erase Chip will be executed 
 +    Erasing device...
     Comparing flash   [100%] Done.     Comparing flash   [100%] Done.
     Erasing flash     [100%] Done.     Erasing flash     [100%] Done.
     Verifying flash   [100%] Done.     Verifying flash   [100%] Done.
-    J-Link: Flash download: Total time needed: 5.630s (Prepare: 0.063s, Compare: 0.000s, Erase: 5.564s, Program: 0.000s, Verify: 0.000s, Restore: 0.003s+    J-Link: Flash download: Total time needed: 0.421s (Prepare: 0.373s, Compare: 0.000s, Erase: 0.025s, Program: 0.000s, Verify: 0.000s, Restore: 0.021s
-    Erasing done. </code> +    Erasing done.  
-  - In J-Link command line terminal input command//**loadfile x:\yyy\CN0359\Release\CN0359.bin 0**// press return, please notice: x is your disk driver, yyy is the path of CN0359 source code package <code>+</code> 
 +\\ 
 + 
 +10a. __For Rev A evaluation boards:__ 
 + 
 +<hidden> 
 +Input the following command in the J-Link terminal: 
 +    loadfile x:\yyy\CN0359\Release\CN0359.bin 0 
 + 
 +<note> 
 +x is the disk drive; yyy is the file path of the CN0359 source code package 
 +</note> 
 + 
 +<code>
     J-Link>loadfile x:\yyy\CN0359\Release\CN0359.bin 0     J-Link>loadfile x:\yyy\CN0359\Release\CN0359.bin 0
     Downloading file [x:\yyy\CN0359\Release\CN0359.bin]...     Downloading file [x:\yyy\CN0359\Release\CN0359.bin]...
Line 439: Line 705:
     J-Link: Flash download: Flash programming performed for 1 range (76288 bytes)     J-Link: Flash download: Flash programming performed for 1 range (76288 bytes)
     J-Link: Flash download: Total time needed: 5.945s (Prepare: 0.065s, Compare: 0.529s, Erase: 0.023s, Program: 5.157s, Verify: 0.131s, Restore: 0.038s)     J-Link: Flash download: Total time needed: 5.945s (Prepare: 0.065s, Compare: 0.529s, Erase: 0.023s, Program: 5.157s, Verify: 0.131s, Restore: 0.038s)
-    O.K. </code> +    O.K.  
-  - After downloading the program, remove J-Link debug probe and power off EVAL-CN0359-EB1Z evaluation board +</code> 
-  - Upon next power on, the EVAL-CN0359-EB1Z evaluation board will run new downloaded program+</hidden> 
 +\\
  
-<note tip>the J-Link debug probe detailed usage instructions can be found at [[https://www.segger.com/downloads/jlink|J-Link Manual]]</note> +10b. __For Rev B evaluation boards:__
-===== Software development environment =====+
  
-The CN0359 software source code could be download at[[http://www.analog.com/CN0359-DesignSupport]], the software binary executable firmware generated by GNU tools under eclipse IDE, debugged by OpenOCD.+<hidden initialState="visible"> 
 +Input the following command in the J-Link terminal: 
 +    loadfile x:\yyy\ADuCM360_demo_cn0359 0
  
-The tools for CN0359 development could be downloaded at following list: +<note> 
-  * [[https://launchpad.net/gcc-arm-embedded|GNU ARM Embedded Toolchain]] +x is the disk drive; yyy is the file path of the CN0359 firmware file 
-  * [[https://eclipse.org/cdt/|Eclipse CDT]] +</note>
-  * [[https://marketplace.eclipse.org/content/gnu-arm-eclipse|GNU ARM Eclipse]] +
-  * [[http://openocd.org/|OpenOCD]]+
  
-Please refer to the handbook of each tools for detail usage instructions.+<code> 
 +    J-Link>loadfile x:\yyy\ADuCM360_demo_cn0359 0 
 +    Downloading file [x:\yyy\ADuCM360_demo_cn0359]... 
 +    Comparing flash   [100%] Done. 
 +    Erasing flash     [100%] Done. 
 +    Programming flash [100%] Done. 
 +    Verifying flash   [100%] Done. 
 +    J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (82432 bytes) 
 +    J-Link: Flash download: Total: 1.160s (Prepare: 0.046s, Compare: 0.022s, Erase: 0.000s, Program & Verify: 0.1069s, Restore: 0.021s) 
 +    J-Link: Flash download: Program & Verify speed: 75 KB/s 
 +    O.K.  
 +</code> 
 +</hidden> 
 +\\
  
-<note important>The CN0359 source code doesn't support Keil or IAR IDE</note>+11. Disconnect the J-Link debug probe and power supply from the CN0359 evaluation board. The CN0359 evaluation board will run the downloaded program when it is powered up again. 
 +\\ 
 +\\ 
 +---- 
 + 
 +===== Software Development Environment ===== 
 + 
 +==== Rev A Source Code ==== 
 + 
 +<hidden> 
 +The source code for the CN0359 software can be downloaded from: [[repo>EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0359_reva]]. 
 + 
 +ADuCM360_demo_cn0359_reva is a CrossCore project. Import the project in ADI CrossCore Embedded Studio to build and debug the code. 
 + 
 +  * [[adi>en/design-center/evaluation-hardware-and-software/software/adswt-cces.html | CrossCore Embedded Studio]] 
 +</hidden> 
 +\\ 
 + 
 +==== Rev B Source Code ==== 
 + 
 +<hidden initialState="visible"> 
 +The source code for the CN0359 software can be downloaded from: [[repo>EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0359]]. 
 + 
 +ADuCM360_demo_cn0359 is a CrossCore project. Import the project in ADI CrossCore Embedded Studio to build and debug the code. 
 + 
 +  * [[adi>en/design-center/evaluation-hardware-and-software/software/adswt-cces.html | CrossCore Embedded Studio]] 
 +</hidden> 
 +\\ 
 +----
  
 ===== Software Structure ===== ===== Software Structure =====
  
-The CN0359 software divided in to 3 layersfrom top to bottom is:  +The CN0359 software divided is into three layers from top to bottom:  
-  * application layer+  * Application Layer
   * newlib   * newlib
-  * hardware abstraction layer+  * Hardware Abstraction Layer
  
-All the devices is abstracted to the file, the application read and write device file to communicate with hardware.+==== Rev A Structure ====
  
-The following chart is the source file structure:+<hidden> 
 +The following chart shows the structure of the source code:
  
     ├── applications     ├── applications
Line 583: Line 891:
                 └── system_ADuCM360.h                 └── system_ADuCM360.h
  
-  * the **applications** folder contained all application layer source, it include all RS-485 command and LCD dialog routines. +  * The **applications** folder contains the application layer source files. These include all serial commands and LCD dialogue routines. 
-  * the **hal** folder contained all hardware abstraction layer source, each of device has his own driver file in this folder to access newlib low level interface. +  * The **hal** folder contains the hardware abstraction layer source files. These include the device drivers to access the newlib low level interface. 
-  * the **include** and **system** folder is ADuCM360 support file for external declaration and cortex-m3 cmsis library support.+  * The **include** and **system** folders contain ADuCM360 support files for external declaration and Cortex-M3 cmsis library support.
  
-====== Schematic, Bill of Materials, Gerber Files, Source Code ======+</hidden> 
 +\\  
 +     
 +==== Rev B Structure ====
  
 +<hidden initialState="visible">
 +The following chart shows the structure of the source code:
 +
 + ├── include
 + │   ├── applications
 + │   │   ├── command
 + │   │   │   ├── cmd_cellconstant.h
 + │   │   │   ├── cmd_coefficient.h
 + │   │   │   ├── cmd_frequency.h
 + │   │   │   ├── cmd_holdtime.h
 + │   │   │   ├── cmd_poll.h
 + │   │   │   ├── cmd_setuptime.h
 + │   │   │   └── cmd_voltage.h
 + │   │   ├── dialog
 + │   │   │   ├── BaudRateDialog.h
 + │   │   │   ├── CellConstantDialog.h
 + │   │   │   ├── CoefficientDialog.h
 + │   │   │   ├── ContrastDialog.h
 + │   │   │   ├── Dialog.h
 + │   │   │   ├── FirmwareDialog.h
 + │   │   │   ├── FrequencyDialog.h
 + │   │   │   ├── HoldTimeDialog.h
 + │   │   │   ├── HomeDialog.h
 + │   │   │   ├── SettingDialog.h
 + │   │   │   ├── SetupTimeDialog.h
 + │   │   │   ├── SplashDialog.h
 + │   │   │   └── VoltageDialog.h
 + │   │   ├── message.h
 + │   │   └── uart_exec.h
 + │   └── hal
 + │       ├── devices.h
 + │       ├── drivers
 + │       │   ├── ad8253.h
 + │       │   ├── adc.h
 + │       │   ├── buzzer.h
 + │       │   ├── dac.h
 + │       │   ├── encoder.h
 + │       │   ├── flash.h
 + │       │   ├── lcd.h
 + │       │   ├── pwm.h
 + │       │   ├── Sampling.h
 + │       │   └── uart.h
 + │       ├── Initial.h
 + │       ├── RTD.h
 + │       └── timer.h
 + ├── ld_script
 + │   └── gcc_arm.ld
 + ├── RTE
 + │   ├── Device
 + │   │   └── ADuCM360
 + │   │       ├── ADuCM360.ld
 + │   │       ├── startup_ADuCM360.c
 + │   │       └── system_ADuCM360.c
 + │   └── RTE_Components.h
 + ├── src
 + │   ├── applications
 + │   │   ├── command
 + │   │   │   ├── cmd_cellconstant.cpp
 + │   │   │   ├── cmd_coefficient.cpp
 + │   │   │   ├── cmd_frequency.cpp
 + │   │   │   ├── cmd_holdtime.cpp
 + │   │   │   ├── cmd_poll.cpp
 + │   │   │   ├── cmd_setuptime.cpp
 + │   │   │   └── cmd_voltage.cpp
 + │   │   ├── dialog
 + │   │   │   ├── BaudRateDialog.cpp
 + │   │   │   ├── CellConstantDialog.cpp
 + │   │   │   ├── CoefficientDialog.cpp
 + │   │   │   ├── ContrastDialog.cpp
 + │   │   │   ├── Dialog.cpp
 + │   │   │   ├── FirmwareDialog.cpp
 + │   │   │   ├── FrequencyDialog.cpp
 + │   │   │   ├── HoldTimeDialog.cpp
 + │   │   │   ├── HomeDialog.cpp
 + │   │   │   ├── SettingDialog.cpp
 + │   │   │   ├── SetupTimeDialog.cpp
 + │   │   │   ├── SplashDialog.cpp
 + │   │   │   └── VoltageDialog.cpp
 + │   │   ├── main.cpp
 + │   │   ├── message.cpp
 + │   │   └── uart_exec.cpp
 + │   └── hal
 + │       ├── devices.cpp
 + │       ├── drivers
 + │       │   ├── ad8253.cpp
 + │       │   ├── adc.cpp
 + │       │   ├── buzzer.cpp
 + │       │   ├── dac.cpp
 + │       │   ├── encoder.cpp
 + │       │   ├── flash.cpp
 + │       │   ├── lcd.cpp
 + │       │   ├── pwm.cpp
 + │       │   └── uart.cpp
 + │       ├── Exceptions.cpp
 + │       ├── RTD.cpp
 + │       ├── syscalls.cpp
 + │       └── timer.cpp
 + ├── system.rteconfig
 + └── system.svc
 +
 +  * The **applications** folder contains the application layer source files. These include all serial commands and LCD dialogue routines.
 +  * The **hal** folder contains the hardware abstraction layer source files. These include the device drivers to access the newlib low level interface.
 +  * The **include** and **system** folders contain ADuCM360 support files for external declaration and Cortex-M3 cmsis library support.
 +</hidden>
 +\\
 +----
 +
 +====== Schematic, PCB Layout, Bill of Materials ======
 <WRAP round 80% download> <WRAP round 80% download>
 +
 +[[ADI>CN0359-DesignSupport|EVAL-CN0359-EBZ Design and Integration Files]]
 +  * Schematic
 +  * PCB Layout
 +  * Bill of Materials
 +  * Allegro Project
 +</WRAP>
 +\\
 +
 +====== Software Source Code ======
 +
 +<WRAP round 80% download>
 +EVAL-CN0359-EB1Z Rev B Files
 +  * [[repo>EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0359 | Software Source Code ]]
 +  * [[repo>EVAL-ADICUP360/releases/download/Release-1.0/ADuCM360_demo_cn0359.bin | Software Binary Release 1.0]]
 +
 EVAL-CN0359-EB1Z Rev A Files EVAL-CN0359-EB1Z Rev A Files
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-padsschematic-reva.pdf|Schematic}} +  * [[repo>EVAL-ADICUP360/tree/master/projects/ADuCM360_demo_cn0359_reva Software Source Code ]] 
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-bom-reva.xlsx|Bill of Materials}} +  * [[repo>EVAL-ADICUP360/releases/download/Release-1.0/ADuCM360_demo_cn0359_reva.bin Software Binary Release 1.0]]
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-grb-reva.zip|Gerber Files}} +
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-sourcecode-reva.zip|Software Source Code}}+
  
-EVAL-CN0359-EB1Z Rev 0 Files 
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-padsschematic-rev0.pdf|Schematic}} 
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-bom-rev0.xlsx|Bill of Materials}} 
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:eval-cn0359-eb1z-grb-rev0.zip|Gerber Files}} 
-  * {{:resources:eval:user-guides:circuits-from-the-lab:cn0359:cn0359-sourcecode-rev0.zip|Software Source Code}} 
 </WRAP> </WRAP>
 +\\
 +----
  
 ====== Change Log ====== ====== Change Log ======
  
-Rev0 to RevA+<hidden> 
-  * U1 (from MCCOG128064A6S-SPTLY to BTHQ128064AVC1-COG-STF-LED) +Rev A to Rev B
-  * U7 (from ADM3483ARZ to ADM3075EARZ) +  * U1 (from BTHQ128064AVC1-COG-STF-LED to NHD-C12832A1Z-NSW-BBW-3V3
-  * C32 (from 330n to NP) +  * U5 (from ADP1613ARMZ to ADP5072ACBZ-R7) 
-  * Software (conductivity result reliability routines removed+  * Removed old U7 (ADM3075EARZ) 
-  * Software (setup and hold time setting added+  * U8 (ADUCM360BCPZ128) renumbered as new U7 
-  * Software (RS-485 communication routines added)+  * U9 (from ADA4077-2ARZ to ADA4077-2ARMZ) 
 +  * U14 (from ADA4000-1ARZ to ADA4522-1ARJZ) 
 +  * C1 (from 10u to 1u) 
 +  * Removed C10 (47u) 
 +  * Removed C11 (100n) 
 +  * C12 (from 100n to 10u) 
 +  * C13 (from 33n to 1u) 
 +  * Removed C14 (10u) 
 +  * C16 (from 56p to 3300p) 
 +  * Removed C20, C22 (100n) 
 +  * C21, C23 (from 22u to 10u) 
 +  * C24 (from 3.3n to 1500p) 
 +  * C29, C30 (from 10u to 0.01u) 
 +  * C32 (from NP to 1u
 +  * C33, C34 (from 2.2u to 1u
 +  * C81 (from 10u to 0.01u
 +  * Added C101, C103, C104, C105, C106 (1u) 
 +  * Added C102 (10u) 
 +  * D1 (from BAT54S to PD3S140-7) 
 +  * D2 (from 1N4148W to PD3S140-7) 
 +  * D3 (from MBRA120ET3G to B130-13-F) 
 +  * D4 (from 1N4148W to MMSD4148T1G) 
 +  * J1 (from MJ-179PH to PJ-102AH) 
 +  * J2 (from OSTTC032162 to SSW-105-01-G-D) 
 +  * J4 (from 302-S201 to FTSH-105-01-L-D) 
 +  * L1 (from SLF6045T-220M1R1-3PF to EPL2014-472MLC) 
 +  * L3, L4, L5 (from BNX025H01 to MPZ1608S101A; renamed as E1, E2, E3) 
 +  * Added new L3 (EPL2014-822MLC) 
 +  * Q1 (from FMMT718 to SMMBT3906LT3G) 
 +  * R1 (from 47k to 14.3k) 
 +  * R2 (from 2.4k to 2.43k) 
 +  * R3 (from 18k to 2.43M) 
 +  * R4 (from 200k to 137k) 
 +  * R6 (from 6.8 to 13.7) 
 +  * R7 (from 36k to 35.7k) 
 +  * R8 (from 5.1k to 5.11k) 
 +  * R9 (from 6.8 to 0) 
 +  * Removed R10 (10k) 
 +  * R12 (from 36 to 35.7) 
 +  * R16, R22 (from 13k to 13.3k) 
 +  * R17 (from 47k to 47.5k) 
 +  * R18 (from 2.7k to 2.74k) 
 +  * R21, R32, R39, R53 (from 24 to 24.3) 
 +  * R24, R27 (from 27k to 26.7k) 
 +  * R33, R34, R36, R41, R42, R45 (from 430 to 432) 
 +  * R35 (from 470k to 475k) 
 +  * Added R55, R56 (1M) 
 +  * Added R57 (2.32M) 
 +  * Added R58 (119k) 
 +  * Added R59 (10.5k) 
 +  * Added S2 (FSM2JSMA) 
 +  * Updated Software 
 + 
 +<note tip> 
 +The connections of the components may have changed in between hardware revisions. Please refer to the schematic files for confirmation. 
 +</note> 
 +</hidden> 
 +\\ 
 +---- 
 + 
 +====== Registration ======  
 +<WRAP round tip 80% > 
 +Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware.  [[reg>EVAL-CN0359-EB1Z?&v=RevA|Register your Rev A Board]] or [[reg>EVAL-CN0359-EBZ?&v=RevB|Register your Rev B board]] to receive all these great benefits and more! 
 +</WRAP>
resources/eval/user-guides/circuits-from-the-lab/cn0359.1475686614.txt.gz · Last modified: 05 Oct 2016 18:56 by Robert Lee