TOP

FAQ

    • .When MCU I/O port is OPEN DRAIN output, is it allowed to supply higher voltage for its external pull-up resistor than IC supply voltage?

      Sonix IC's open drain are pseudo open drain, external pull-up resistor voltage should be less than or equal to MCU's VDD, the main purpose is to apply in a number of parallel connection output bus (eg I2C), or a conversion for voltage lower than VDD Interface voltage level. Users can add transistors to solve this problem.
    • .How to set I/O port to save power?

      Correct I/O port settings can avoid I/O extra current leakage:
      1.For idle I/O port, set I/O port as input mode with pull-up resistor or output low status generally.
      2.For ADC I/O channel, P4CON can be configured to avoid I/O extra current leakage.
      3.For different external hardware circuit, considering I/O's status, improper settings will lead to leakage current, so special attention should be paid to pull-up resistor settings, if I/O port external connected low level, and at the same time enable pull-up resistor, that will cause leakage, eg: VDD = 5V will be about 5V/100K = 50uA leakage.
    • .How much is SONIX MCU's I/O pull-up resistor?

      This point has been described in chip's specifications (Electrical Characteristics section).
      Vdd = 3V, the pull-up resistor is typically 200K ohms.
      Vdd = 5V, the pull-up resistor is typically 100K ohms.
    • .How to connect single key and MCU to prevent I/O port damage effectively?

      In product development, the key is the most common functions, taking such cost factors into consideration, many clients connected the ends of the keys directly to MCU and GND, in most cases there is no problem. However, when the product works in poor environment, such as static electricity, power supply noise, etc., at this time, once the button is pressed, that is equivalent to one of the MCU I/O port is connected directly to GND, thus, it is likely that there will be instantaneous high-current or high voltage or even negative pressure poured into I/O port, causing I/O damage.

      The precaution to reduce this problem is: according to the needs of actual circuit, connect a 100ohm ~ 1Kohm resistance in series between the button and MCU I/O port, which can effectively prevent the damage caused by these problems.
    • .Connect pull-down resistors to I/O port, why can not read low level when there is no external signal?

      SONIX MCU general I/O port built-in pull-up resistors, the equivalent resistance is about 100 Kohm @ 5V, 200 Kohm @ 3V. If client enables I/O pull-up resistor in program while connects external I/O pull-down resistors, in the case of no signal input, that is equivalent to internal pull-up resistor and external pull-down resistor endure voltage pressure in series, which causes I/O port can not read low. For example, in the case of VDD = 5V, internal pull-up resistor is equivalent to 100K, if there is an 100K external pull-down resistor connected at this time, in the absence of an external input signal, the I/O input level is about 0.5VDD, the level has exceeded SONIX MCU VIL/VIH range, definitely result in an reading error.
      Therefore, if user need I/O drop-down state in design, he can connected I/O external pull-down resistor, but please remember to disable I/O internal pull-up function.
    • .Using Reset pin as input port (via ground key), why can not read low level?

      1.Check Reset_Pin in Code Option if it is chosen right;
      2.For OTP MCU, this pin can only be used as input port, and with no pull-up resistor built-in, user must confirm that the circuit has an external pull-up resistor;
      3.Flash MCU Reset pin has different design, for detailed information please refer to datasheet.
    • .How much is Sonix MCU I/O port drive current?

      I/O port drive current can be divided into source current and sink current, source current is the drive capability when I/O port is set output high mode. The bigger the current, the stronger driving capability it has. 
      For a general IO port, the maximum output source current is 12mA, the maximum sink current is 15mA. 
      In addition, taking the application of individual systems into account, sonix increases I/O port drive current, such as SN8P2614 (P2 port each pin can output maximum sink current to 200mA) and SN8PC20 (IRout output pins) and so on.
    • .What should be noted when switch IO port from output mode to input mode?

      1.Steps for input mode switching to output mode:
      (1) Initial I/O status, that is assign pre-value to Pn;
      (2) Switch to output mode, that is assign "1" to PnM.
      2.It can be seen from the basic structure of I/O port: pull-up resistor is invalid when switched to output mode. So PnUR can not be operated.
      3.When modify status of the same port with different I/O pin, it is better to use MOV PX, A port command operation,
      such as:
      MOV A, # XXH
      B0MOV PX,A
      MOV A,#XXH
      B0MOV PXM,A

      For more information please refer to AN004: I/O mode switch instructions.
    • .When use Reset / Px.x pin as input port, why can not read high?

      1.Users need to check whether the Reset option is selected Px.x in code option, if you choose Reset, it means that the pins is used for external reset pin;
      2.Users need to check whether there is external resistor pulled up;
      3.When Reset / Px.x pin is used for input pin, only when the input voltage is greater than 0.9VDD can chip read high
      (ViH), while the other pin is 0.7VDD. Also, only when Reset pin input voltage lower than 0.2VDD can chip detect low
      (ViL), while the other pin is 0.3VDD, users should pay attention to this when using;
      4.The reset pin is only recognized to high in 0.9VDD, low in 0.2VDD, that is only when the voltage is lower than 0.2VDD
      can the system enter re-set mode, only when the voltage is higher than 0.9VDD can the system works in normal state.