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
zmod:scope:reference-manual [2021/11/11 22:10] – ↷ Page moved from zmod:zmodadc:reference-manual to zmod:scope:reference-manual Arthur Brownzmod:scope:reference-manual [2024/01/09 12:00] (current) – [Table] Laszlo Attila Kovacs
Line 6: Line 6:
  
 {{Digilent Image Gallery  {{Digilent Image Gallery 
-| image = {{reference/instrumentation/zmodadc/zmodadc_top_view.png?w=540&h=360&t=1566215726&tok=0dc41f |Zmod Scope top view.}} +| image = {{:zmod:scope:zmodscope-generic-obl-1000.png?direct|}} 
-| image = {{:reference/instrumentation/zmodadc/zmodadc_bottom_view.png?w=540&h=360&t=1566215726&tok=f0af6e}}+| image = {{:zmod:scope:zmodscope-1410-bottom-1000.png?direct|}} 
 +| image {{:zmod:scope:zmodscope-generic-top-1000.png?direct|}}
 }} }}
- 
-//{{anchor:figure_1:Figure 1. Zmod Scope top and bottom views.}}// 
  
 The Zmod Scope was designed to be a piece in a modular, HW and SW open-source ecosystem. The Zmod Scope can acquire two signals, with simultaneous sampling. Combined with a SYZYGY™ carrier, other SYZYGY™ compatible pods, Zmod Scope can be used for a variety of applications: data acquisition systems, closed loop controllers, scopes, etc. The Zmod Scope was designed to be a piece in a modular, HW and SW open-source ecosystem. The Zmod Scope can acquire two signals, with simultaneous sampling. Combined with a SYZYGY™ carrier, other SYZYGY™ compatible pods, Zmod Scope can be used for a variety of applications: data acquisition systems, closed loop controllers, scopes, etc.
Line 235: Line 234:
 $$V_{in} = \frac{N \cdot Range \cdot (1+CG)}{2^{n-1}} + CA \label{45}\tag{45}$$ $$V_{in} = \frac{N \cdot Range \cdot (1+CG)}{2^{n-1}} + CA \label{45}\tag{45}$$
  
-were:+where:
   * n = the number of bits (14 for Zmod Scope 14XX, 12 for Zmod Scope 12XX, 10 for Zmod Scope 10XX)   * n = the number of bits (14 for Zmod Scope 14XX, 12 for Zmod Scope 12XX, 10 for Zmod Scope 10XX)
   * N = the n bit, 2's complement integer number returned by the ADC   * N = the n bit, 2's complement integer number returned by the ADC
Line 241: Line 240:
   * CA = calibration Additive constant (for the appropriate channel and gain; see [[#Table_4|Table 4]])   * CA = calibration Additive constant (for the appropriate channel and gain; see [[#Table_4|Table 4]])
   * CG = calibration Gain constant (for the appropriate channel and gain; see [[#Table_4|Table 4]])   * CG = calibration Gain constant (for the appropriate channel and gain; see [[#Table_4|Table 4]])
-  * Range= the ideal Range of the Scope input stage (approximation of the values in equation \ref{40}):+  * Range = the ideal Range of the Scope input stage (approximation of the values in equation \ref{40}):
     * 1.086 (for low range: ±1V) or      * 1.086 (for low range: ±1V) or 
     * 26.25 (for high range: ±25V)     * 26.25 (for high range: ±25V)
Line 262: Line 261:
 ===== 3. MCU ===== ===== 3. MCU =====
  
-The [[https://www.microchip.com/wwwproducts/en/ATTINY44A|ATtinny44]] MCU in [[#figure_13|Fig. 13]] works as a I2C memory, storing the SYZYGY™ DNA information and the Calibration Coefficients. The J5 connector is used for programming the MCU and the SYZYGY™ DNA at manufacturing. +The [[https://www.microchip.com/wwwproducts/en/ATTINY44A|ATtiny44]] MCU in [[#figure_13|Fig. 13]] works as a I2C memory, storing the SYZYGY™ DNA information and the Calibration Coefficients. The J5 connector is used for programming the MCU and the SYZYGY™ DNA at manufacturing. 
  
 The DNA and the Factory Calibration Coefficients are stored in the Flash memory of the MCU, which appears to the I2C interface as "read-only". The User Calibration Coefficients are stored in the EEPROM memory of the MCU, which is write-protected via a magic number at a magic address. The memory structure can be consulted below. The DNA and the Factory Calibration Coefficients are stored in the Flash memory of the MCU, which appears to the I2C interface as "read-only". The User Calibration Coefficients are stored in the EEPROM memory of the MCU, which is write-protected via a magic number at a magic address. The memory structure can be consulted below.
Line 328: Line 327:
 | Product version / revision           | string  | 1            | f)            | d)        | | Product version / revision           | string  | 1            | f)            | d)        |
 | Serial number                        | string  | 12           | 210396000000  | d)        | | Serial number                        | string  | 12           | 210396000000  | d)        |
 +| Product ID                           | uint32  | 4            | g)            | 0x80FC    |
  
-^ a)   ^ 13                                                                                                                                                          | for Zmod Scope 1410      | +^ a)   ^ 13                                                                                                                                                                           | for Zmod Scope 1410      | 
-| :::  | 17                                                                                                                                                          | for Zmod Scope 1410-105 +| :::  | 17                                                                                                                                                                           | for Zmod Scope 1410-105 
-| :::  | 17                                                                                                                                                          | for Zmod Scope XXXX-125 +| :::  | 17                                                                                                                                                                           | for Zmod Scope XXXX-125 
-| :::  | 16                                                                                                                                                          | for Zmod Scope XXXX-40   | +| :::  | 16                                                                                                                                                                           | for Zmod Scope XXXX-40   | 
-| b)   | CRC computed over the addresses 0x8000-0x8025: most significant byte                                                                                                                || +| b)   | CRC computed over the addresses 0x8000-0x8025: most significant byte                                                                                                                                   || 
-| c)   | CRC computed over the addresses 0x8000-0x8025: least significant byte                                                                                                               || +| c)   | CRC computed over the addresses 0x8000-0x8025: least significant byte                                                                                                                                  || 
-| d)   | the subsequent address (hexadecimal)                                                                                                                                                || +| d)   | the subsequent address (hexadecimal)                                                                                                                                                                   || 
-| e)   | Zmod Scope 1410, Zmod Scope 1410-105, Zmod Scope 1410-125, Zmod Scope 1210-125, Zmod Scope 1010-125, Zmod Scope 1410-40, Zmod Scope 1210-40, Zmod Scope 1010-40 - upon case                          || +| e)   | Zmod Scope 1410, Zmod Scope 1410-105, Zmod Scope 1410-125, Zmod Scope 1210-125, Zmod Scope 1010-125, Zmod Scope 1410-40, Zmod Scope 1210-40, Zmod Scope 1010-40 - upon case                            || 
-| f)   | A, B, C, etc - upon case                                                                                                                                                            ||+| f)   | A, B, C, etc - upon case                                                                                                                                                                               |
 +| g)   | 0x80100200 Zmod Scope 1410-105                                                                                                                                                                        | 
 +|      | 0x80101200 Zmod Scope 1010-40                                                                                                                                                |                          | 
 +|      | 0x80102200 Zmod Scope 1210-40                                                                                                                                                |                          | 
 +|      | 0x80103200 Zmod Scope 1410-40                                                                                                                                                |                          | 
 +|      | 0x80104200 Zmod Scope 1010-125                                                                                                                                                                        | 
 +|      | 0x80105200 Zmod Scope 1210-125                                                                                                                                                                        | 
 +|      | 0x80106200 Zmod Scope 1410-125                                                                                                                                                                        |
  
 ==== 3.2. Calibration Memory ==== ==== 3.2. Calibration Memory ====
Line 357: Line 364:
 ^  Heading 1            | ** Name **  ^  Size (Bytes)  ^  Type            ^  Flash Address \\ (Factory Calibration)  ^  EEPROM Address\\ (User Calibration)  ^ ^  Heading 1            | ** Name **  ^  Size (Bytes)  ^  Type            ^  Flash Address \\ (Factory Calibration)  ^  EEPROM Address\\ (User Calibration)  ^
 |  Magic ID                          1              uchar 0xAD      |  0x8100                                  |  0x7000                               | |  Magic ID                          1              uchar 0xAD      |  0x8100                                  |  0x7000                               |
-|  Calibration Time                  4              unix timestamp  |  0x8104                                  |  0x7004                               | +|  Calibration Time                  4              unix timestamp  |  0x8101                                  |  0x7001                               | 
-|  Channel 1 LG Gain    | CG          |  4              float32         |  0x8108                                  |  0x7008                               | +|  Channel 1 LG Gain    | CG          |  4              float32         |  0x8105                                  |  0x7005                               | 
-|  Channel 1 LG Offset  | CA          |  4              float32         |  0x810C                                  |  0x700C                               | +|  Channel 1 LG Offset  | CA          |  4              float32         |  0x8109                                  |  0x7009                               | 
-|  Channel 1 HG Gain    | CG          |  4              float32         |  0x8110                                  |  0x7010                               | +|  Channel 1 HG Gain    | CG          |  4              float32         |  0x810D                                  |  0x700D                               | 
-|  Channel 1 HG Offset  | CA          |  4              float32         |  0x8114                                  |  0x7014                               | +|  Channel 1 HG Offset  | CA          |  4              float32         |  0x8111                                  |  0x7011                               | 
-|  Channel 2 LG Gain    | CG          |  4              float32         |  0x8118                                  |  0x7018                               | +|  Channel 2 LG Gain    | CG          |  4              float32         |  0x8115                                  |  0x7015                               | 
-|  Channel 2 LG Offset  | CA          |  4              float32         |  0x811C                                  |  0x701C                               | +|  Channel 2 LG Offset  | CA          |  4              float32         |  0x8119                                  |  0x7019                               | 
-|  Channel 2 HG Gain    | CG          |  4              float32         |  0x8120                                  |  0x7020                               | +|  Channel 2 HG Gain    | CG          |  4              float32         |  0x811D                                  |  0x701D                               | 
-|  Channel 2 HG Offset  | CA          |  4              float32         |  0x8124                                  |  0x7024                               | +|  Channel 2 HG Offset  | CA          |  4              float32         |  0x8121                                  |  0x7021                               | 
-|  Reserved Area        |              68            |  -               |  0x8168                                  |  0x7068                               | +|  Reserved Area        |              68            |  -               |  0x8125                                  |  0x7025                               | 
-|  Log                  |              22            |  string          |  0x817E                                  |  0x707E                               |+|  Log                  |              22            |  string          |  0x8169                                  |  0x7069                               |
 |  CRC                  |              1              uchar            0x817F                                  |  0x707F                               | |  CRC                  |              1              uchar            0x817F                                  |  0x707F                               |
  
Line 377: Line 384:
 |  0x7080 - 0x70FF      Future Use      |   128          |  |  0x7080 - 0x70FF      Future Use      |   128          | 
    
-At the power up the EEPROM memory is protected against write operations. To disable the write protection one has to write a magic number to a magic address over I2C. To re-enable the write protection one has to write any other number to the magic address.+At the power up the EEPROM memory is protected against write operations. To disable the write protection one has to write a magic number to a magic address over I2C. To re-enable the write protection one has to write any other number to the magic address.
  
 //{{anchor:table_6:Table 6. The Write Protection Disable magic number and address}}// //{{anchor:table_6:Table 6. The Write Protection Disable magic number and address}}//