|
|
PTC-04
Programmer for Melexis PTC devices
Download PTC-04 Datasheet (PDF)
Subscribe To Updates
PTC-04 General Description
The PTC-04 programmer was designed for efficient, precise calibration of the Melexis families of programmable ICs. The programmer is designed to be easily adapted to a standard PC and to an application module to allow calibration of programmable sensor ICs within the operating environment. The PTC-04 programmer contains its own programmable power supply and measurement circuitry. The programmer is similar to a standard EEPROM programmer, but adds many special features such as 16 bit voltage and current measurement capability, and a configuration options that will accommodate users from the prototyping phase directly into production. An IBM compatible PC is required (not included) to load software to the programmer and control the functions of the programmer. Communication is done through a standard RS-232 null modem cable to a COM port of the PC or via USB. The PC requires no custom configuration, allowing the programmer to be used with any PC with a COM port speed of 115.2kbs or a standard USB 1.1 or USB 2.0 interface.
PTC-04 Features and Benefits
- Universal programming utility
- Fast development
- Fast plug-in for software applications
- Atmega128 Core
- Firmware updatable via RS232 and USB
- FPGA updatable via RS232 and USB
- 3 High Current Programmable Supplies
- 1 High Speed Fast
- 16 bit Level Settings
- 16 bit differential Measurements
- 4 analog comparators
- Vector Generator
- I2c to Daughter Board
- Mountable in 19” Rack
PTC-04 Environmental Information
This text will be replaced
PTC-04 Frequently asked Questions
Programming the MLX90215 manually
Answer
Is it for evaluation in the lab or to be used in a real application around a micro-controller (for example)?
In the first case, you should buy a MLX programming unit (e.g. PTC-04). It is delivered w/ all the necessary tools to program this part as well as other MLX programmable Hall sensors. It is a quite universal tool.
In the latter case, Melexis does not recommend this mode of operation as it was not the intention to let the device work permanently in RAM. This RAM mode is only for calibration purpose in conjunction w/ the programming unit i.e. in a well under-controlled environment. There is not enough check to guarantee this mode in a not-controlled environment (e.g. EMI perturbations,...). Furthermore, the programming protocol is based on "exotic" waveforms on the supply line (up to 15 V) and the output line. You will need to add dedicated H/W to make this happen.
In summary, we do not disclose the programming protocol for the MLX90215 and we recommend to use the ptc-04 in all cases.
Question
It's for a real application in a lab :-)
I'm part of a group of physics students spatially profiling magnetic fields by scanning them with a Hall probe, and we chose this device because
a) the position and the size of the Hall plate is specified
b) we were hoping to be able to reprogram the sensitivity/range with the device in our apparatus
Unfortunately our budget is quite limited. We were prepared to build a small amount of dedicated hardware to facilatate the programming, but if it is only possible with the PTC-04, I guess we will be using a selection of pre-programmed devices.
zero position
Answer
The MLX90316 is typically programmed in the final application (through supply and output pins using a dedicated programming tool called PTC-04).
The transfer characteristic i.e. Output signal (either analog voltage, PWM duty cycle, SPI) vs. Angular position (in degrees) is fully configurable (see datasheet).
To proceed, you need first to mount the IC into the application facing the magnet (diametrally magnetized and located onto the throttle shaft).
Then you drive the application towards both mechanical stops or any other target positions. In those positions, you calibrate the transfer characteristic according to your output requirements (offset, slope,...)
You can also acquire MLX90316 which has been preprogrammed but this actually is only worth for 360 degrees application. In such a case, you get a 0.5V to 4.5V output characteristic for 0 ... 360 Degrees.
MLX90316 programmer options?
Question
I’m a Norwegian engineer testing out your MLX90316 for use in a wind direction sensor application. Is it possible to program the device without the PTC-04? It seems like “overkill” for me to purchase the PTC-04 just to be able to test the MLX90316 to see if it’s useful for our application. I want to use it as a 360 degree sensor with analog output. What’s the device default state/configuration?
Answer
You need a PTC-04 to program the parts according to your specification.
For 360 Degrees application, we offer for big quantities (> 250k) preprogrammed parts feat. the SPI protocol.
However, for your evaluation, you can order few samples to sales_europe@melexis.com preprogrammed for 0 ... 360 Deg. and 10%Vdd ... 90%Vdd analog output.
We look forward to your order.
Problem on PTC04 Programmer
Answer
When the MPT is started, the software automatically scans for the PTC-04 on all ports and reads the ID + Firmware version. If this fails you get the error "No Melexis Devices were found...". In your case it sound like the firmware is corrupted and does not fit with the requirements. You should try to reload the firmware and check for the “Main ID". Please use the following procedure:
- Switch OFF PTC-04 and connect RS232
- Start MPT
- Start user interface PTC-04. Press "Do not connect" in case you get a warning.
- Click on "Firmware commander"
- Switch ON PTC-04. Green LED will be ON
- Select Communication / connect / communications Port ( com x)
- Select Communication / Upload firmware and select the “ptc04_mlx90251_firmware.hex" from CD
- Select System / Main ID and click "Load". Verify the "contents of this hardware" with the "default". If it matches then the problem is solved. If it does not match click on "save defaults" and then click "load" again. If the contents still does not match the default then most likely the PTC-04 is damaged and should be send back to Melexis.
[90316] - Preprogrammed
Answer
- By defult the 90316 is not programmed for 360 degrees application. The output is in analog mode and clamped to 7..8% and always require a PTC-04 to program the part. You probably received a demo sample that was programmed by Melexis or your local rep.
- Programming the 90316 can only be done with the PTC-04, there is currently no possibility to program the part with a uC. We have to make a redesign first to change this and this is planned for next year.
Answer
- In case you use SPI communication we offer preprogrammed devices. In all other cases you will need the PTC-04 to program the parts in the final application trough the output pin.
- There is a company in Germany that can offer a service to program the parts for you.
- We do not support anymore the protocol how to program the parts. From previous projects we know that it will be very time consuming for you and for us to get it work correctly and in the end it will cost more then the PTC-04.
Question
Refer to my datasheet of 90316,see the below:
"
Pre-Programmed Analog – 360deg angular span for an analog output between 0.5V and 4.5V, Low Speed Mode (Locked)
"
My question is,
May I have pre-programmed 90316 ,of which is NON-locked? so I can programming it via my PTC-04 later;
And will you charge me more money? :)
Question
I received one Evaluation baord of MLX90316 from Digikey.The Evaluation board data sheet suggest that by default it is programmed in analog mode for (o to 360degree)but i am not getting any response on output pin.Is it preprogrammed and locked in SPI mode? If yes the do you have any application code using which i can read values?Is it possible to program the chips of evaluationm board with PTC-04?
Please suggest soon as i have to make one Prototype using this IC.
Regards
Abhishek
MLX90316 How into programmable mode?
Answer
For prgramming the 90316 you will need the PTC-04. Please check the reference "Link to SW 90316 PTC04" or goto http://www.melexis.com/Asset.aspx?nID=4995
Two measuring equipments on one PTC-04 programmer
Question
The PTC04_DB_Hall01_DataSheet.pdf document shows that 2 measurement instruments could be connected to the PTC-04 programmer at the same time. I use a safety-critical sensor with dual MLX90251. Can I communicate with the two chips without changing the connections from one sensor to the other? Device selector does nothing.
90316 firmware update
Question
I have a problem with my PTC-04 updates I have been doing over the last few weeks. I am using the PTC-04 to program the 90316. I now have gone to use the programmer for the first time after doing my updates and I get a conflict of firmware revision, specifically error message 'firmware revision too low, detected 1.36 required 1.45'. The firware I have is the only one I have ever had .. .. .. 'PTC04_mlx90316_firmware.hex'.
When I look for the updates I don not see any revision update to the 90316 firmware.
Any feedback would be appreciated.
Answer
If you update the software on your PC, than it is also required to update the firmware on the PTC-04. This should be available on the same location as you got the software update. Check for FIR0316AAMLX, rev 1.47.
Question
Hello,I have the same problem too,so
how can I upgrade for my PTC-04?
Answer
To update the firmware of PTC-04 you can start the user interface of PTC-04 and press the "upload firmware "button. In case you have an older revision of the UI PTC-04, then you can start the firmware commander and use the upload firmware instruction.
For more information, please check the manual of the user interface PTC-04 on the CD.
MLX90251 and PTC04
Answer
1) Please let me first explain the purpose of PTC-04 and the uses for different applications / devices
- PTC-04 is a universal programming toolbox to program all current Hall sensors. A daughter board is used to create the link between the programmer and the sensor/application.
Currently we have 2 type of daughterboards : DBhall-01 ( general DB used for 90215 / 90251 / 90277 ...) and the DB-90316 ( only usable for 90316).
The DB can handle single and dual hall sensors. Single device are linked to device A and dual devices are linked to device A + B.
- The MLX90251 is a single linear hall sensor. This means it should be connected to pins of the DB hall marked as device A.
The pins marked with device B are not accessible by the software of 90251. In the user interface you will find a device selector ( device 1...16), but it is a software switch. It allows you to handle more than one device with the software. There are 16 virtual devices available. Every virtual device corresponds to a single die with separate cache for the EEPROM, independent Solver settings and Solver parameters. The hardware switch has to be done externally by a MUX or relay.
- The MLX90277 is a dual programmable hall sensor, which is equal to 2 dies in 1 TSSOP package. They should be connected as device A + device B. The software of 90277 can handle 8 virtual devices in case an external multiplexer is used.
2) in your application you use 2 x 90251, but for us this is 2 x a single hall sensor and therefore handled as device 1 and device 2.
Even if you connect the second 90251 to device B of the DBhall-01, the software will only measure + communicate with the sensor connected to device A. This explains why you think that you can read the EEPROM of the second 90251, but not see any response or changes in the measurements.
If you compare the EEPROM contents of the 2 devices , then you will notices that they are exactly the same, even the unique Melexis ID.
According to me your you have programmed 2 times the same device, but the second time with wrong solver information and therefore the output will not be as expected. The devices are not damaged and can be reprogrammed if there were not locked.
3) The supply voltage level of 90251 can be 0 / 5 / 9V. 5V is the normal operating voltage and used during measurements. 9V is applied during communication. 0V is selected for resetting the device.
4) The error message that you get during the self test of PTC-04 is not critical and is not related to the mentioned issue. The function that has been tested and reported as fault is currently not used. This error message has been noticed before by Melexis but was related to a software bug. Please check that the latest UI and PSF is installed.
5) In case you want to use 2 x 90251 without an external multiplexer or without manually switching the connector, you could use the 90277 software and connect the 2 x 90251 as a dual sensor , connected to device A and Device B. BUT you can only do this if the VDD is separated, this implements that you have 5 or 6 cables and did not use a common VDD.
( the dual sensor is used for redundancy and implements that everything is separated. 2 x Vdd + 2 x Vout + 2 Vss. A common Vss is acceptable, but not a common Vdd)
90316 RG value
Answer
I am not sure that I understand your question so I will give a general answer.
The communication with the PTC04/90316 goes through the output pin. During programming the Vdd=7.5V and output pin is then used for digital communication ( 0 / 5V). If Vdd =5 V, the output is back in normal mode and should respond to variations of the magnet according to the programmed EEPROM parameters.
If you use an external 5V power supply, then you can connect the scope to the output pin (pin5 for SO8) and check the changes. In case you use the PTC-04, there should be no communication (and mux switched off) and the Vdd must be set to 5V. The best way to guarantee this is to use the measurement menu and select Vdd + out1. (Deselect angle).
[90316] - Error
Question
I keep getting this error when I try to read from the device, and I have tried changing to another device, but still the same error.
"PTC-04 recieved from the chip ACK/ERR=FFh while writing to adress 0072h"
Kit for MLX90257
Question
I want to know that the type of the Evaluation Kit for MLX90807,PTC-03 or PTC-04? and another special kit?
Question
For 90807/90808, the agent here recommends us to use PTC03 to do programming, but what is the supporting documentation? it is not clear.
Also is PTC-04 an updated version of PTC-03?
Answer
We advice you to use the evb90807 for the calibration. This evb is much more user friendly and designed to calibrate the 90807 devices.
We have a lot of documentation available for programming with the Evaluation Board.
remark: The ptc-04 is like you mentioned, an updated version of the ptc-03.
[90316] - SPI
Answer
When the 90316 is connected to the PTC-04, there are 4 possible modes:
1) Normal operation mode, analog or PWM output ( Vdd=5V)
2) Programming mode ( Vdd=7.5V)
3) SPI mode ( Vdd=5V)
4) Switched off ( Vdd=0)
Switching between the different modes is in general possible without restrictions, except if the device is in SPI mode.
Once the device is in SPI mode it is required a reset before it can go into programming mode.
To make sure that you can enter into programming mode, reset VDD or hotreset the device twice. In the latest UI ( rev 1.11) this should be fixed.
MLX90316 SPI Interface
Answer
If you receive virgin 90316 parts from Melexis, then the 90316 is in an analog test mode and the output is clamped to 8%. Vdd.
To use the 90316 in a SPI application, the part needs to be programmed with the PTC-04. If you do not have a PTC-04, you can also order preprogrammed parts for SPI mode.
programming the MLX90251
Answer
You must program the device with the PTC-04. You need to "activate" the device by programming it. You should contact your local sales rep to ask what options might be available.
Question
I understand that you must initialise the chip using the PTC-04 but I would like to buy the device only if I'm sure that the MLX-90251-0 is the right product for us. And to know that I need to make a test ! Does anyone know if we can emulate the PTC-04 or what is the communication protocol.
Alternatively, is it possible to have/buy 10 pre-programmed samples, even if all the settings are not optimized with respect to our application I can validate it this way.
some question
Question
I am setting the mlx90316 with PTC04 by the tool "Main auto-calibration screen". The IC is mlx90316kgo.
When clicking the "New device" and "Set settings" buttons, it is ok. But when click the "characterize" button, an error dialog turns out: "PTC-04 received from the chip ACK/ERR=80h while writing to address 0072h". What is the reason? Could you please tell me how to solve it?
Answer
The error indicated that there is no readback / communication possible . Make sure the device is connected correctly to the PTC-04. Check the connections of Vdd, Gnd and output. This can be verified with measurements screen: VDD=5V, IDD = 6..12mA, Vout = 7-8%Vdd for un-programmed parts.
Answer
The signal of the output ( die A ?) is too low which indicates that
a) it is not correctly connected
or
B) the device has been reprogrammed.
I advise to check the connection of the output pin.
Die A : pin 15 of 90316 must be connected to pin 2 of DB25 ( PTC-04).
Die B : pin 7 of 90316 must be connected to pin 9 of DB25 ( PTC-04).
MLX90316 Value jumping
Answer
So far this problem is not known.
Most likely it is related to a programming or communication error.
If you detect the problem with regularity then it is linked to a programming / saturation error, otherwise I think it is a communication problem.
1) Communication error
If the error code is not detected, you confirm that you checked the lsb of the 2 data bytes to be equal to 1.
Can you also confirm that you checked the communication and that all 4 data bytes are OK? (i.e. 2 Data bytes + 2 inverted data bytes = FFFFh)
2) Programming error
- can you check the programming of the transfer curve with the PTC-04 or did you receive pre-programmed parts?
3) Saturation
Please check that it is not a linearity error with a sinusoidal shape over 360 deg.. If you detect a 4 period sinusoidal linearity error, then the magnetic field is to strong and you should reduce the magnetic field density.
If you cannot solve the problem, please send us ( Melexis or your local rep) some raw data to analyze.
pull-up or pull-down resistor of Mlx316
Answer
The 90316 output stage can be used with a resistive pull-up or pull down load ( min 4K) and depends on the customer’s application. In case of a fault like broken Vdd, the behavior of the output ( item 15 in datasheet ) depends on the load.
For automotive applications the resistive load is present in the ECU and not on the PCB of 90316, and therefore we have foreseen the possibility to apply this load during the calibration of the device. On the DB90316 we have added the possibility of applying a 5K6 PU to a programmable battery voltage or a 10K PD. This is optional, and if you require other values then the default, you can also add the load externally. The programmable battery voltage ( PPS3) is also available on the DB25 connector of the PTC-04.
So if you have a pull-up resistor at the output of the 90316 in your final application, then I recommend that you also apply this load during the calibration. (Internally or externally), since the results of the “characterize DAC” can be influenced by the load.
PTC-04 via COM interface
Question
I want to use the PTC-04 via COM interface from MATLAB.
I found some methods and properties which are not documented in the PSF0PTC04AAMLX.pdf. I need imformation about these methods and properties.
Missing method documentationS (based on the latest downloadable version of PSF0PTC04AAMLX.pdf):
Activate = void Activate(handle, Variant)
CheckRevision = [bool, SafeArray
Pointer(Variant), int32] CheckRevision(handle, SafeArray Pointer(Variant), int32, Variant(Optional))
CheckSetup = void CheckSetup(handle, bool)
Destroy = void Destroy(handle, bool)
Free = void Free(handle, Variant(Optional))
GetAssetName = string GetAssetName(handle)
GetModuleRevision = [int32, int32]
GetModuleRevision(handle)
Load = void Load(handle, handle)
OnMessage = void OnMessage(handle, int32, Variant, handle)
Reset = void Reset(handle, Variant(Optional))
Save = void Save(handle, handle)
SetPortF = char SetPortF(handle, char, char)
Uninit = void Uninit(handle)
Missing property documentations (based on the latest downloadable version of PSF0PTC04AAMLX.pdf):
Connected
HasUI
MLX90316 Usage
Question
if the part is not a pre-programmed part, unfortunately, you are not able to use it without the programmer PTC-04. However, it is possible to get pre-programmed parts (pre-programmed by Melexis). Please contact us directly.
90251F problem with PTC-04
Answer
For most MLX products there is a specific firmware, PSF and UI for the PTC-04 programmer. Therefore it is important to have the correct firmware loaded in the PTC-04 programmer.
At start-up the PSF layer checks the ID and revision of the firmware that is loaded in the PTC-04. If the firmware doesn’t support the MLX product of the PSF, the PSF layer returns an error message.
In such a case you have to upload the correct firmware:
Start the PTC04UI and press the upload firmware button ( or firmware commander) to upload the "ptc04_mlx90251_firmware.hex".
Unable to connect to a PTC04 programmer
Answer
The windows USB driver needs to be installed before the Melexis software can recognize the PTC-04. This needs to be done for every USB device. Please check in the control panel / device manager if the hardware is recognized as PTC-04. Normally the first time you connect the PTC-04, windows should give a message "new hardware found” and install the driver.
- If possible try the RS232 connector and check if the new PTC-04 is OK.
MLX 90316 3D sensor
Answer
The 90333 is a programmable device and the output is configurable for
- Analog output mode ( 5-95 % Vdd) = default
- PWM output ( 0-100 %)
- SPI output ( 0-100%)
The device needs to be configured for SPI with the PTC-04 before the device can be used as a SPI-slave.
About the programming of MLX90316
Question
Hello,I am working on one test solution of 90316-relevant product;my questions:
1) Memlock Command must follow the program session or just independent?i.e. I want to memlock my 90316 only if it is tested OK;2)if I want to apply PTC-04 as programmer in Mass Production, how to maintain it in health condition?(it is the most expensive in my solution)
Answer
1) The memlock function can be executed independently of the programming, but should be done after programming the MLX90316. Locking the device is a final operation and the EEPROM becomes un-programmable.
2) Every time the software is started, the software performs some checks like checking calibration date, firmware revision...
The user interface of PTC-04 has a test program that is made to perform a quick check of the hardware. It allows the user to verify if there is any hardware damage on his PTC-04 programmer. The test checks the functionality of the fixed power supplies, programmable power supplies, the internal voltmeter, etc…
To start, press the button “Test programmer” on the PTC-04 User Interface.
We also recommend performing a calibration of the PTC-04 every year.
MLX90251 and PTC-04
Question
I'm trying to program an MLX90251 with the PTC-04 board. I need to measure fields around 125mT (sensors type 2). In the programmer interface, i try to perform the liear set-up: position 1 is, for example, 100mT (0V) and position 2 is 150mT (5V). With a RG of 11 and a FG of 900 the system should work, but when I perform the linear set-up I always obtain the error: out of tolerance. Can you explain me how to program a sensor (in that range) without errors? Is there an example pdf in your website?
MLX90316 in SPI mode
Answer
The MLX90316 has to be programmed in SPI mode using the PTC-04 programmer. Same for the high speed mode. If your application is 360 degrees and if you do not need a calibration, you can also order the MLX90316 already preprogrammed in SPI mode. Otherwise you need the PTC-04 programmer.
MLX90316 mode
Question
Dear Sirs, I received few MLX90316 samples few months ago. They are marked as 316BAD X1. I wired it as it is in analog mode and I measured on the output pin 0.4V. According to one of your previous posts on the forum I assumed that device is in analog mode. But, after I applied magnetic field above device I didn’t measure any change on the output pin. Is it possible to determine in which mode is device without using PTC-04.
Answer
You have received parts with the default programming from the Melexis final test, what we called also un-programmed part. Clamping High and Clapmping are programmed in such a way the output is around 8 %Vdd, which is 0.4 V. The mode is analog. This allows to test the PCB without programming. You need a PTC-04 programmer to change the programming. Also, you can order pre-programmed part in analog mode, but on 360 degrees from 0.5V to 4.5V. See page 1 of the datasheet Rev003 available on the Melexis web site.
LabView Support for programming
Question
I have MLX90316 sensor and now I would like to program this sensor using DLL LIB under LabView (with PTC-04). I have found some example on CD for the LabView but there are no SPI Mode (only Analog(2) and PWM(5-7)). I am using Demo_90316_solver_PSF.llb Can You any tips how can I solve this problem. Thanks
demo_90316_PTC04.vi
Answer
There is a Labview example available on the CD PTC-04. Please check the directory:
CD_PTC04\MLX90316\Soft\application\labview
The example program demo90316BAD.exe was a development version, and only available as executable.
MLX90316 fron end calibration
Question
In PTC-04 programmer there is a option "Sensitivity mismatch" and 2 parameters SMISM[8] and SxGTSy[1]. My question is what these parameters do and the limits for first one? I know that this is for amplitude error (sin cos) but I don’t know how to use them in practice? Because in doc there is no info obout.
Question
Thanks for the answer.
Now I have another question In PTC-04 programmer there is an option „Output DAC“ . Do I need to Characterizie each time when I programming sensor (this is obligatory or not). Because same time this make bigger output faults (linearity error over 360 deg) and other no changes.
MLX90316 BCG CharacterizeOutput
Question
I’ve got a problem with CharacterizeOutputDAC. The values I receive are wrong. For example, I receive:
Gain=1.027, Offset -2.3, MPT Toolbox reads Gain=1.004, Offset=-0.139. Especially the Offset is obviously wrong.
Previously, my programming routine in VC++ worked fine. Until this week, we used MLX90316-BAD, and now we want to switch to BCG.I now upgraded to the BCG-PSF, I upgraded the PTC-04 to the new firmware and installed new MPT Toolbox and UI module for BAD and BCG.
I also tried setting the chip version (is this necessary?) but the set_ChipVersion routine doesn’t exist in the Advanced object.
mlx90316
Answer
If the output is stuck at 0.4V, then you received for example the normal 90316EDC-. For the preprogrammed analog parts you need 90316EDC-PPA.
You can program the 90316EDC- with the PTC-04 and this programming tool costs around 1200 Euro.
Difficulties programming MLX90316
Answer
Programming the 90316 should always work. If it is connected directly or through a relay, the programming should be the same. On the daughterboard we also have relays to switch the output, so I do not see any reason why it should create yield losses if you add a relay. Of course when you switch the relays, you should be sure that there is no bouncing when the communication starts. Maybe the extra cabling creates some voltage drop or parasitic capacitors and the timings or levels are not correct any more.
What maybe could help is to use sense lines, or reduce the baudrate (4800) or increase the programming level to Vprog=8V and check if it helps.
To answer your question: When PTC-04 writes to the 90316, then we send the write command + data + crc ...and the device will always answer and send an acknowledge byte to confirm that the command was accepted and processed correctly. If for any reason the device does not understand or does not accept the command, then there will be an error. Typically the error message will be;: Wrong ACk byte or missing ACK byte So yes, if you do not get an error, then the device is accepting the command and confirms that it is programmed correctly.
MLX90316 - Output Capacitor
Question
We require our product to be programmable for either Analogue or PWM mode. However, revision 003 of your data sheet shows a capacitor of 100nF between Output and GND for Analogue mode (Fig. 17.1) and 4.7nF for PWM mode (Fig 17.3). This suggests that a hardware change would be necessary to change between the two modes, which is unacceptable to us.
However, your document ' 0005269_MLX90316_PTC04connection_Rev12_JCD_27Nov06.pdf ' shows an MLX90316 connected to a PTC-04. It is labelled ' Analogue/PWM application ' and shows a 47nF capacitor connected between the Output and GND.
Please confirm whether we can use a single capacitor value for both modes and, if so, what its value should be?
PTC-04
Answer
The function CheckSetup(bQuiet As Boolean), will search for a PTC-04 and also includes checking of communication channel validity, hardware revisions and specific parameters, software revisions as well as setting device specific parameters.
In case a check failed, the result will be a popup message if parameter bquit = false, or the returned value will be an error message without the popup if bquit = true and can then be validated with your software. Switching off some tests is not an option.
Please check the MPT_DEVELOPER_REFERENCE.HLP for more details.
What you can do is change the "next calibration date" that is stored in the EEPROM of the PTC-04. If you move the date 1 year, then the warning will also only come in 1 year.
Please note that every measurement tool should be calibrated on regular bases to guarantee good accuracy. Please check PTC04_UI for more details.
Question
I am getting a fail indication for the PTC-04 when I test it. The BIN code is 311 and the TEST Main ID Serial Number is indicated. Also, I need a pinout description of the application connector on the rear of the PTC-04 (15-pin dsub).
Answer
The HardWare ID in the EEPROM has been modified or corrupted. If this is the only error, the programmer should work OK.
You can repair it; select the "Configuration" button in the PTC-04 User Interface. The HW ID field should contain something like "03050007". This should be the same as the "Unit" number on the side of the programmer. You can modify the field and save it.
You can find the DB-15 pinout on the CD:
PTC04\Daughter_Board\Documentation\Ptc04_DB_Hall01_DataSheet.pdf
Question
Question: I get this error when I try to read from the device: "PTC-04 received from the chip ACK/ERR=FFh while writing to address 0072h"
Answer
In order to run PTC04 user interface under MPT it is necessary to double-click on it under the workspace tree.
Figure 1: MPT
The software will search again the system for connected PTC04 programmer and will come up with a new dialog asking for manual selection of a serial port.
Figure 2: Comport selection
Select the correct port and click on “OK” button. Then PTC04 user interface must be active.
There are mainly two reasons leading to a similar malfunction:
1. An incompatible firmware has been uploaded into the PTC04 programmer. In such a case, please follow the instructions for Question: How do I upload the firmware of the PTC-04 starting from Step 2.
2. PTC04 main ID parameters have been overwritten. In such a case perform the following steps:
2.1. Click on “Firmware Commander” button
2.2. From the menu select System->MainID
2.3. Click on “Load” button.
2.4. Check if VID = 1001 and PID = 24832. If one of them is different correct it. Make sure that “HW Name” is “PTC04” as shown above.
2.5. Click on “Save” button. Wait 1-2 seconds until the data is written to the device.
2.6. Click again on “Load” button to ensure the data is correctly written.
Once both possible reasons are successfully fixed, you can try to do “Search All” again.
If the problem still exists, please contact Melexis support for further instructions.
Answer
It is not advised to continue without proper verification of the Daughter Board that is plugged in the PTC04 Main Board.
STEP 1
If the plugged in Daughter Board is not of the required type, the software will not work properly.
The name of the DB plugged in the PTC04 MB can be verified with the UI of the PTC04.
If the type of DB doesn’t match with the required DB, it has to be replaced with the correct one.
STEP 1: Press on the “Configuration” Button in the User Interface PTC-04 window.
STEP 2: Press the “Load” Button on the Daughter Board Description window.
STEP 3: Verify if the HW Name matches with the requirements.
IMPORTANT: Do not change any other parameter of the Main Board Description. They are used by the software to identify the PTC04 as valid HW.
Question
How do I upload the firmware of the PTC-04
Answer
for instructions on how to upload the firmware of the PTC04, please refer to the document: PTC04_UI.pdf
This PTC04_UI.pdf document can be found on the CD delivered with the PTC04 or at:
http://www.melexis.com
In a nutshell:
The firmware loader is needed in order to upload new or other firmware into the PTC-04 programmer.
For most MLX products there is a specific firmware, PSF and UI for the PTC-04 programmer. Therefore it is important to have the correct firmware loaded in the PTC-04 programmer.
At start-up the PSF layer checks the ID and revision of the firmware that is loaded in the PTC-04. If the firmware doesn’t support the MLX product of the PSF, the PSF layer returns an error message.
In such a case you have to upload the correct firmware:
STEP 1: Start the User Interface of the PTC-04
STEP 2: Press the button Upload firmware
STEP 3: Select the firmware needed for your MLX product.
The firmware filename is called ptc04_mlx*****_firmware.hex or fir******aamlx.hex.
The marks ***** stand for the MLX product name.
For ex.: ptc04_mlx90251_firmware.hex or fir090264aamlx.hex.
Once the file is opened, the firmware is loaded in to the PTC-04 programmer. Afterwards the software verifies if the upload was done correctly.
Answer
for instructions on how to calibrate the PTC04, please refer to the document: User_Manual_Calibration_Software_PTC04.pdf
The instructions on how to calibrate the PTC04 and what is needed for the calibration are described in the “User_Manual_Calibration_Software_PTC04.pdf” document. This document can be found on the CD delivered with the PTC04, on softdist or at http://www.melexis.com
To preserve the accuracy of the PTC04, Melexis recommends checking the tolerance of the PTC04 once a year.
The PSF of the PTC04 has a Method “CheckSetup”. This method checks if the environment is supported by this object. This usually includes checking of communication channel validity, hardware revisions and specific parameters, software revisions as well as setting device specific parameters.
Also the calibration date of the PTC04 is checked by this method. If the calibration due date is exceeded, a warning message is given. This function is described in the MPT_Development_Reference.HLP. You can find the help file on the CD delivered with the PTC04, on softdist in the dir: ..\PTC04_CD\Tools\MPT or on http://www.melexis.com
When you do not use the PTC04 for your analogue measurements or when the PTC04 is used for programming Melexis devices with a digital output: The accuracy of the PTC04 is less critical for the calibration of MLX device.
However: it can have an impact on the communication with the MLX device over the lifetime of the PTC04.
The calibration of the PTC04 is not only done on the ADC. Also the DAC of the PTC04 is calibrated. The DAC is used to control the 4 PPS’s, Programmable Power Supplies, of the PTC04 programmer.
Most of the PTC protocols use the PPS’s to set the levels needed for the communication between the PTC04 and the MLX device. Some PTC protocols also use the ADC to read the response of the MLX device.
Although it is less critical: These types of PTC protocols require a well maintained PTC04 programmer to ensure a good communication between the PTC04 and the MLX device over the lifetime of the PTC04 programmer.
Postpone the calibration due date:
To postpone the calibration check of the PTC04, one can move the Next calibration date to a later date. The Next Calibration date is stored in the EEPROM of the PTC04 and can be accessed with the configuration tool of the PTC04 UI.
STEP 1: Press on the “Configuration” Button in the User Interface PTC-04 window.
Figure 6: PTC04 UI
STEP 2: First Press the “Load” Button on the Main Board Description window.
STEP 3: Modify the next calibration date to a later date.
STEP 4: Press the “Save” button.
IMPORTANT: Do not change any other parameter of the Main Board Description. They are used by the software to identify the PTC04 as valid HW.
Figure 7: Main Board Description.
mlx90333kdc
Answer
The devices are in Analog mode by default. You need a PTC-04 programmer to change the mode to PWM or SPI.
MLX90316
Answer
The MLX90316 features an EEPROM to store the calibration parameters (such as transfer characteristic offset, gain, clamping levels...). The IC can be programmed through the connector i.e. through the supply and output pins. To do so, you need a programming tools (PTC-04) and the necessary software running on a PC under Windows.
To acquire the full equipment, please contact our sales representative.
Answer
This is a classic problem at the so-called discontinuity point around 359.99 and 0 Degree.
You can eliminate the "oscillation" effect at the IC level by setting an hysteresis parameter in the dedicated field of the PTC-04 user-interface.
It should solve your issue. Please note that you can move the location of the discontinuity to any value that suit you if you have an application w/ less than 360 degrees stroke. Please also note that for 360 degrees application, we do recommend to use the digital output (either PWM or SPI) instead of the analog output in order to meet tighter accuracy specification (especially over temperature !).
Question
First of all, sorry for the delay in answering.
If you want to do an analog potentiometer application 0 ... 360 Degrees w/o discontinuity, it is basically impossible... Indeed, 359.9 Deg. will correspond to a high output level (e.g. 90%Vdd or 4.5V @ Vdd = 5V) and 360 = 0 Deg. will correspond to a low output level (e.g. 10%Vdd or 0.5 V @ Vdd = 5V). It means that at that stage, you cannot avoid a discontinuity in the output voltage...
However, this discontinuity can be set wherever you want in your application. It means that the actual angle where this happens can be at 50 Degrees or 100 Degrees... The IC allow basically the end-user to define the "0 Degree Reference". The parameter is called "Discontinuity Point" (internal name = EE_DP) and it can be set using the UserInterface of PTC-04.
Let me go back to the discontinuity and the oscillations you are facing around that position. As mentioned above, you cannot avoid the discontinuity i.e. you cannot avoid the transition 90%Vdd => 10%Vdd in the space of 0.1 Deg. (359.9 Deg. => 360.0 Deg. = 0 Deg.). The spring is large in voltage but extremely small in angle. The oscillation or unstability you have seen are directly linked to the noise or jitter which affects the angular reading. In case of +/- 0.1 or +/- 0.2 Deg. jitter around 0 Deg, the angle will vary between 359.8 and 0.2 Deg. through the noise... The output voltage will then vary between 4.5V and 0.5V... If you want to reduce (but not completely eliminate) this phenomenon, you can increase the filtering of the signal. This can be done by using:
(i) strong filter settings (Filter = 5)
(ii) the hysteresis filter (FHyst = X where X corresponds to 0.04 Deg. * X)
In a next version of the chip (Rev. C), Melexis has implemented a dedicated hysteresis at the discontinuity point. This is the most appropriate solution to eliminate the oscillation issue as the discontinuity point.
But w/ the current chip revision (Rev. B), it is also possible to eliminate the issue by implementing a kind of hysteresis (labeled "X" in the formula below -- X = 0.1 Deg. should be enough but you need to consider this with respect to the noise) using the full manual calibration offered by the IC and the User Interface running on PTC-04. You need to set the parameters directly in the EEPROM using the button "EEPROM" (Please use the latest User Interface i.e. Rev. 1.07).
The settings are:
-1- Set DP where you want
-2- Set A = (AX, AY) = (0 , 0%Vdd)
-3- Set S0 = 0
-4- Set SA = 0
-5- Set B = (BX, BY) = (0 + X Deg. , 10%Vdd)
Set SB = (360 - 2 * X)/80 if you want 80%Vdd (i.e. 10%Vdd => 90%Vdd) span for 360 Deg. stroke
-6- Set C = (CX, CY) = (360 - X Deg. , 100%Vdd)
-7- Set SC = 0
-8- Set ClampLow = 10%Vdd
-9- Set ClampHigh = 90%Vdd
This should fullfill your requirement. Other people are doing this in production process and it works just fine. In case of trouble, please recontact us on the Forum and we will address it quicker than this time.
Answer
a) You can connect multiple 90316’s on the same SPI bus. The number will depend on the capacitor on MISO/MOSI and the frequency on SCLK! 4 x 90316 sharing the same SPI bus is feasible.
b) It is indeed possible to share the same SCLK line for the dual slave application diagram.
c) Programming multiple 90316 with one PTC-04 is done in a sequential way. It is not possible to program them in one step. Also be aware that during the programming with the PTC-04, the Vdd is set to 7.5V. Programming the 90316 with the SPI master is not yet possible.
However we can provide you with pre-programmed 90316 in SPI mode ( 360 deg / high speed).
d) Single die :
-FIT rate = 3.54 - 60% CL
-FIT rate = 7.58 - 90% CL
e) The allowed magnetic field range = 20-70mT. You can not use the SPI mode to get control of the optimal magnetic field strength.
If the magnetic field is too strong or too weak you will receive an error code in case you work in SPI mode, and a diagnostic output level in case you selected the analog output mode.
Answer
I think you are confusing the SPI communication protocol and the 90316 programming with the PTC-04, so let me first explain the 2 communication protocols. Maybe you already know this, but it was not so clear from the last reply.
PTC-04
The programming of the 90316 EEPROM is done using the supply and the output node of the 90316. This is called programming trough the connector ( PTC) and it requires only 3 cables as it is typical used for analog / PWM applications. For reading / writing data from / to the EEPROM, the power supply is raised to 7.5V and the output node is used as for the single wire communication protocol.
Based on your explanation you already succeeded in programming the device.
SPI
The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard designed by Motorola that operates in full duplex mode. The SPI protocol of the MLX90316 is a three wires protocol (/SS, SCLK, MOSI-MISO).
If you connect the SCLK ( pin 3 DB25) and /SS ( Pin 5 DB25) to the PTC-04, then you can also get the readings from the 90316 in the measurement screen through the SPI . The 90316 is considered as a slave node. (Requirements: UI 1.11 and DB 90316 rev 2.0)
If you connect the 90316 to your microcontroller ( See datasheet 90316 : pag 26) and respect the timings ( See datasheet 90316 : pag 22), then the 90316 should reply.
Please check that you send AAh & FFh to the 90316 and it is available during the negative going edge of your CLK signal. If you send me a scope plot of the SS, SCLK, MOSI-MISO signals, then I can verify what could be the problem.
90316 programming
The steps that you performed for the programming is correct for a 2 point calibration. If you want to program the 90316 as a 360 deg sensor, then I would replace the “Set the value and click on Level Point B" with a “overwrite default slopes, after point A with a value 100%/360deg = 0.2777 and click Set “
Question
concerning your post, please find below some comments.
(1) The PTC-04 offers the option to connect (internally of the PTC-04) to the output pin of the MLX90316 a pull-up or a pull-down resistor. Those resistors are implemented on the Daughter Board of the PTC-04 so that you don't need to connect them externally. However, you have only the option to connect a 5k6 pull-up or a 10k pull-down resistor.
If enabled (either Pull-up or pull-down), the pull-up resistors is connected to Vbat_Norm, and the pull-down resistor is connected to Vbat_Low. Both, Vbat_Norm and Vbat_Low, can be defined by changing the corresponding values in the "Settings" menu of the User Interface 90316. Like this you are able to define the pull-up voltage and to simulate a pull-up or pull-down construction.
(Therefore, Vbat is a voltage source of the PTC-04).
(2) This is not the latest status. Apperently, you are working with an older revision of the UI_90316 document. In the new one, this has been corrected. The actual status is of course that you can chose the PWM frequency.
Question
in order to be able to establish a SPI communication between the PTC-04 and the MLX90316, you need a MLX90316-Daughterboard of revision 2.0 at least. Any older revision is not able to set up a SPI communication.
I would advise that you check the revision of your Daughterboard and if necessary that you order the latest revision.
In order to get the new UI_90316 document, please provide me your e-mail address.
Answer
Latest software ( Copy of CD PTC-04) is available on sotdist.melexis.com
Registration is required. See your local sales rep to register.
Answer
I think there is a typo causing confusion here the address was meant to be http://softdist.melexis.com
in previous posts there was missing an "f" in the url. Still a registration is required and this is not obvious how to accomplish when arriving on this page.
You need to request a registration for the software distribution system. You should do this through your local Melexis office or through the sales channel that sold you the PTC-04.
mass download&accuracy
Answer
1) Programming the 90316 is only possible with PTC-04. This programming tool is suitable for mass production and has already been used in mass production by many customers for many years.
2) The total Intrinsic Linearity Error of 90316 = +/- 1 deg ( See datahseet pag 13. This means that over the complete 360 deg angle span @ 25 C, the maximum accuracy error is +/- 1 deg. ( +/- 0.82 is an example from the AN Front-end Calibration)
If the device is programmed for a 360 deg application, and you use only 90deg, then the error specifications will remain +/1 deg.
However, by using the multi point end-user calibration, this error can be improved. The error will decrease with increasing number of calibration points.
For more information, please check AN Back-end calibration , Pag 4.
For every calibrated point, the error at that position will be almost 0 deg, and the effect will be maximum if the distance between 2 points < 90 deg.
Example: 90 deg with 3 calibration points -> Lin error < +/- 0.3 deg
90316 outputDAC characterize problem!
Question
while i'm trying to configure the MLX90316,First,i clicked "new device",then i set settings, after this,while i want to modify the output DAC gain and offset,they are disabled,the default values are 1.000000 and 0.000000 respectively,if i click "characterize",it shows a messagebox"PTC-04 received from the chip ACK/ERR=FFH.while writing to adress 0072h". then i verified the connection,first time i go to the measurement screen,all parameters such as Vout,Idd,Vdd are ok.Then i quit MPT,powered off PTC-04,and started once again,but the same problem occured.
Do you have some suggestions about this?
Programming MLX90316
Question
I have a sample MLX90316-KDC chip hooked up to a PTC-04 using the SPI method mentioned in the PTC04 Connection PDF.
When trying to program the chip I get errors saying that I can not write to the specified address. Also, when reading the EEPROM, I see that the checkbox for the "MLXLOCK" is checked. Is this the sign of a chip that has been preprogrammed and locked from the manufacturer?
Question
I ordered part# MLX90316KDC with no suffix. Is it possible to tell what sensors I actually received with the PTC-04?
General quesions for MLX90251
Answer
Reply for both posted messages:
MLX90251 is available in so-called leaded package for thru-hole mounting (Single-in-Line Package - 4 leads - 4-SIP-VA).
Melexis offers the option of performing a trimming and forming of the leads in order to get a device suitable for SMD mounting. The parts are then delivered in pocket tape.
Melexis is currently qualifying the MLX90251 in TSSOP-14 package. Release expected by the end of the year 2005. Engineering samples are available in small quantity. It will be referred as MLX90251-E-GO (Option - 0, 1, 2 or 3) for the temperature range up to 85 Deg.C. and MLX90251-L-GO (Option - 0, 1, 2 or 3) for the temperature range up to 150 Deg.C.
This product is then similar to the MLX90277 but the MLX90251 has only one die while the MLX90277 includes 2 isolated dies in the same package (for redundancy purpose).
Both MLX90251 and MLX90277 can be programmed through the Standard Melexis Programming Unit PTC-04.
PTC-04 Matlab
Question
Hi! 1, I'm using a PTC-04 programmer and it says: "Current calibration has expired" and I can't read the contents of the EEProm.
From what I heard I need a file named "MPT_DEVELOPER_REFERENCE.HLP" , but I don't have it. Please send me if you can!
2, And send me some basic initialization script if you have for the PTC-04 under MATLAB or Excel!
Answer
The message "calibration date has expired"is just a warning. You should still be able to read the eeprom.
The file "MPT_DEVELOPER_REFERENCE.HLP" is on the cd PTC-04 / TOOLS / MPT / Documentation/...
There are also examples written in Excel / VB , see CD PTC-04 / projectnr / soft / application / excel
Software Library for C#.NET
Answer
There is only one PSF90316 and this can be used in all windows programming tools.
First you will need to import the 90316 PSF active X DLL into your program. Please check the manual of C#.net for more information.
Next you need to connect the PTC-04 and creat a link. This can be done for example with the following instruction: ( example is for 90320EVB, but can be replaced by 90316)
Following C# code is an example of ScanStandalone usage:
> MLX90320EVBPSFModule.MLX90320EVBPSFDevice[] m_devs;
>
> MLX90320EVBPSFModule.MLX90320EVBPSFManager mgr = new
> MLX90320EVBPSFModule.MLX90320EVBPSFManager();
> MLXMPTCommon.ObjectCollection coll =
> (MLXMPTCommon.ObjectCollection)mgr.ScanStandalone(
> MLXMPTCommon.DeviceType.dtSerial, null);
> if (coll.Count <= 0)
> {
> MemoTextBox.AppendText("No devices found\n");
> return;
> }
> int ndev = coll.Count;
> m_devs = new
> MLX90320EVBPSFModule.MLX90320EVBPSFDevice[ndev];
>
> for (int i = 0; i < ndev; i++)
> {
> m_devs[i] =
> (MLX90320EVBPSFModule.MLX90320EVBPSFDevice)coll[i];
If this was succesfull, then you can readback eeprom , etc.
MLX90333 triaxis 3D-Joystick Position Sensor
Question
I've question about MLX90333.
How can I program it(is PTC-04 the only option)? Is there any document how to do it ?
Answer
Melexis programmable hall sensors can only be programmed with the PTC-04 ( no other option).
For more information regarding programming MLX90333, please check the CD PTC-04 / UI 90333.
Programming 90316
Answer
Melexis does not recommend in the field reprogramming of our IC's. It has been our experience that this activity brings excessive risk to the reliable and proper operation of the IC. We only support programming the device using the Melexis PTC-04 programmer and software. Through this tool we are able to assure customers achieve consistent and correct behaviors of the IC. Therefor the programming details are not made available.
Answer
Programming of Melexis Hall sensors can only be done through the PTC-04.
Changing the DP, is equal to addeing a constant to the angle measurement ( New angle = Angle -DP ), which you probably can easily do in the attached micrcontroller. Creating a complex programming protocol compared to a simple mathematical calulation will take much more resources and create more errors.
MLX90333
Answer
“The programming steps do not require any dedicated pins. The operation is done using the supply and output nodes of the IC. The programming of the MLX90333 is handled at both engineering lab and production line levels by the Melexis Programming Unit PTC-04 with the MLX90316 daughterboard and dedicated software tools (DLL - User Interface)." (Pag 12 of datahseet)
1) Yes, MLX90333 End-User Programmable Items means that all these parameters can be programmed by using the PTC-04.
Melexis only supports programming the MLX90333 through the programmer PTC-04 and you will need to buy this equipment. Please contact your local rep for additional information and pricing.
2) The SPI protocol is shown in pag 33 and the 90333 can actually operate only as a slave. If the SS line is low, the 90333 will listen for a request from the master ( MOSI = Master Out Slave In) and the slave or 90333 will answer through MISO ( Master In Slave Out). The SPI protocol for 90333 uses 3 wires, so Mosi/Miso are is done through the same wire.
MLX90333 Gain control and field strength
Answer
There is no need to restart the software PTC-04.
But after changing the EEPROM parameters of 90333, it is recommended to restart the device to guarantee the changes are valid and used in RAM.
In advanced you can HotReset the device or reset Vdd.
MLX90316 Utilizing PSF Library
Answer
- Please check that you select / set the correct chipversion after initializing PTC-04. If you use 90316 BCG , than select chipversion =6 with the latest library ( PSF90316). You can download the software from softdist.melexis.com. If you do not have a softdist account yet, send me a mail with the request.
Programming 90316BCG with 90316 BAD software will work in most cases, but there is a small change that you will see something unexpected.
- Use the invoke method "GetParameterCode"
The following EEPROM parameters are actually available in all versions, so it should always work.
CodeCUSTID1 / EEPROM parameter 22 / EE_CUST_ID1 EEPROM cell
CodeDRESONFAULT /EEPROM parameter 52 / Disable Reset on Fault
ptc-04 and 90333 device locked
Answer
As long as you did not press the MEMLOCK button, the 90333 can be validated, reprogrammed, checking EEPROM and checking RAM.
Only if the SPI application mode was selected, the PTC-04 communication is sometimes more difficult to establish. Setting Vdd to 0 V first could help.
In all other cases I do not know any reason why you can not reprogram the device.
Answer
In the application ( Vdd= 4,5..5,5 V) the device will always be in SPI mode, so there is no problem.
If the device is programmed for SPI mode, then only entering into the PTC-04 communication mode ( Vdd= 7.5V) is sometimes more difficult. Once the device is in programming/communication mode, the communication is also no problem.
Therefore it can help to first switch off the device ( Vdd =0), or limit the time at Vdd=5V ( Tsynchro) or reset / hotreset the device a couple of times until it switch to PTC-04 mode.
90333 SPI-Angle output meaning
Answer
Melexis provides the PTC-04 programmer and software for this purpose. please contact your local sales or distribuition representative for details.
90333 DLL program issue
Question
I am trying to write a calibration program(use C) for production line.
I follow the procedure showed on PSF090333AAMLX.pdf page 28.
But i got(maybe) problem on the step of SetAlphaMiddlePos.
How can i check that?
Is there any method that i can use ?
i used the scope to check the signal while i traced my program.
Yes, it works but i do not know the signal's meaning.
Is there any C sample code that i can reference ?
Inside the PTC-04 CD , i only found sample code for VB(excel) & Labview.
MLX 90316 default comm mode
Answer
It depends on the option code ( see also order information, pag 1 of datasheet and the default EEPROM values , pag 15)
If you order :
MLX90316 E DC - = analog, clamped output @ 8%Vdd. You need PTC-04 to program the device
MLX90316 E DC - SPI : SPI Version pre-programmed and locked for 360deg rotary position application in SPI mode (High Speed).
Buy PTC-04
|
|