MCP2221 Baustein ansprechen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.

Re: MCP2221 Baustein ansprechen

Beitragvon Mathias » 2. Nov 2016, 19:58 Re: MCP2221 Baustein ansprechen

So wie es aussieht, ist der MCP2221 ein Schrott IC.

http://www.linuxforen.de/forums/showthr ... -und-I%B2C)&p=1841197#post1841197

Kennt jemand einen alterantiv IC, für den MCP2221, ausser die ATtiny-Lösung: http://www.harbaum.org/till/i2c_tiny_usb/index.shtml
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 17. Nov 2016, 22:22 Re: MCP2221 Baustein ansprechen

Vorläufig bleibe ich bei der Arduino Lösung, die lauft auf Linux und Windows gleich gut.

Ich konnte auf diese Art noch ein paar Messungen mehr pro Sekunde rausholen.

Ich dachte, bei der seriellen Kommunikation sei bei 115'200 Baud fertig. Ich habe mit synaser genauer angeguckt, und sehe, das es dort Raten bis 4'000'000 hat.
Der USB-UART kann auch auch viel höher als der Standard und somit konnte ich es auf 1'000'000 rauf schrauben. Jetzt kommen etwa 1/3 mehr Messungen an und somit habe ich den ADS1115 ausgereizt. :shock:

Der MCP2221 ist nicht anderes als ein AVR mit festem Programm, und dieser scheint sehr viel Overhead zu haben. Bei dem Arduino kann ich mich auf das nötigste begrenzen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mschnell » 18. Nov 2016, 10:20 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:Ich dachte, bei der seriellen Kommunikation sei bei 115'200 Baud fertig. Ich habe mit synaser genauer angeguckt, und sehe, das es dort Raten bis 4'000'000 hat.
Der USB-UART kann auch auch viel höher als der Standard und somit konnte ich es auf 1'000'000 rauf schrauben


Wir verwenden dauernd den "virtuellen UART" über USB um einen PC (Windows oder Linux) an einen Micro (PIC24 oder PIC32) anzukoppeln.

Die Datenübertragung-Geschwindigkeit ist dabei überhaupt nicht von der vom PC eingestellten (virtuellen) Baudrate abhängig. Die Baudrate wird (wenn sie vom PC-Programm eingestellt wird) einfach als 32 Bit Wert dem USB-Slave über einen "controll-Kanal" mitgeteilt. Es ist also jede Baudrate zwischen 0 und 2^32-1 möglich. Wir benutzen die Baudrate, um im Microprozessor alternativ verschiedene Kommunikations-Programmteile anzusprechen, die auch unterschiedliche Protokolle verwenden (z.B. Arbeits-Modus, Konfigurations-Modus, Trace-Modus, ...).

Hübscher Weise kann man im USB-Slave auch eine Kennung einstellen, mit der er sich beim PC anmeldet. Wenn man dann eine Textdatei (hochtrabend "Treiber" genannt) auf dem Windows-PC hinterlegt, zeigt der dann auch an, dass es sich nicht tatsächlich um einen "COM-Port" handelt, sondern um ein Device, dessen Name in dieser Textdatei angegeben ist.

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Mathias » 18. Nov 2016, 17:57 Re: MCP2221 Baustein ansprechen

Die Datenübertragung-Geschwindigkeit ist dabei überhaupt nicht von der vom PC eingestellten (virtuellen) Baudrate abhängig.

Ich merke da schon einen Unterschied, wen ich zB. auf 300Baud runterstelle, dann läuft das Ganze sehr gemütlich.
So wie es scheint, ist dies bei einem Atmega328 etwas anders als beim pic24 und pic32.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mschnell » 20. Nov 2016, 07:37 Re: MCP2221 Baustein ansprechen

Beim PIC ist die Software komplett von uns. Er weiß überhaupt nicht, dass "Baudrate" etwas mit Geschwindigkeit zu tun haben könnte. Keine Ahnung was bei dem ATMega da passieren könnte.

Auf der Windows-Seite könnte die Baudraten-Einstellung irgendwelche Timeouts beeinflussen, was beim Lesen möglicherweise einen Effekt haben kann.

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Mathias » 20. Nov 2016, 17:51 Re: MCP2221 Baustein ansprechen

Haben die PIC direkt einen USB-Anschluss.
Beim Atmega, der hat nur ein Seriell-Anschluss, welcher dann mit eine USB-UART verbunden ist. Und bei diese Verbindung gibt es halt dann die verschiedenen Baudraten.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mschnell » 21. Nov 2016, 11:47 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:Haben die PIC direkt einen USB-Anschluss.

Ja, Viele PIC-Chips haben (mindestens) einen USB-Anschluss. PIC32 (nutzen wir in neuen Projekten nur noch) sogar OTG. Ist ein Super-Feature, weil man keine Hardware braucht um das Ding an den PC oder z.B. einen USB-Stick anzuschließen, und sofort eine Schnittstelle für Konfiguration und diverse weitere Möglichkeiten hat.
Mathias hat geschrieben:Beim Atmega, der hat nur ein Seriell-Anschluss, welcher dann mit eine USB-UART verbunden ist. Und bei diese Verbindung gibt es halt dann die verschiedenen Baudraten.
Ach so. Dann ist die Baudrate natürlich für die Übertragungsgeschwindigkeit entscheidend. Blöd, dass ein zusätzlicher USB/Seriel-Chip eingebaut werden muss und dass man die Baudrate nicht transparent parallel zum Nutzdatenstrom verwenden kann.

Ich würde sowieso immer PIC32 anstelle von ATMEGA einsetzten. (Die Firma ist ja auch inzwischen von Microchip gekauft worden und die Zukunft der "Konkurrenz-" Architektur deshalb fraglich.) Soweit ich weiß gibt es auch kompatible Module mit PIC32. PIC32 ist eine MIPS-Architektur und MIPS wird genauso wie ATMEGA als "embedded" (also ohne Betriebssystem) von FPC unterstützt.

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Mathias » 21. Nov 2016, 17:39 Re: MCP2221 Baustein ansprechen

Ist ein Super-Feature, weil man keine Hardware braucht um das Ding an den PC oder z.B. einen USB-Stick anzuschließen,

Dies ist beim Arduino auch der Fall, gut der Arduino ist ein Board, welches den Atmega und den UART verbaut haben.

Wen ich nach einem PIC32 google, sieht dies ähnlich aus.

Oder ist der PIC32 etwas zwischen Arduino und Rasberry ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mschnell » 22. Nov 2016, 10:01 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:Oder ist der PIC32 etwas zwischen Arduino und Rasberry ?

Nee. PIC32 ist eine Serie von Chips mit CPU (MIPS-Architektur), internem RAM und ROM (verschiedene Größen, je nach Chip-Preis (ab ca. 80 Cent) und - je nach Chip - diversen Schnittstellen (USB, Seriell, I²C, SPI, parallel I/O, massig Interrupt-Fähige Bit-Ins, Ethernet, Analog In, PWM out, Zeitmessung, CAN-Bus, ..., sehr genauer interner Oszillator (man braucht nicht unbedingt einen Quarz), bis zu 512 K RAM 2 MB Flash 250 MHZ/415 DMIPS -> http://www.microchip.com/design-centers/32-bit

Also vergleichbar mit ATMEGA Chips.

Es gibt natürlich diverse Board mit den Chips drauf (vergleichbar mit Arduino) und eben auch Arduino-kompatible "Pinguino" -> https://www.olimex.com/Products/Duino/P ... -PINGUINO/

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Mathias » 22. Nov 2016, 17:18 Re: MCP2221 Baustein ansprechen

Die Daten sehen interessant aus, ich kann mir vorstellen, das so ein PIC32 einiges schneller arbeitet als ein Atmega328.

Die Arduino-Kompatiblen sehen sehr interessant aus, nur die Frage, kann man diese mit der Arduino-IDE programmieren, oder braucht es da etwas anderes ?

Gibt es die PICs auch im DIP- Gehäuse, oder gibt es da nur SMD ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Christian » 22. Nov 2016, 18:02 Re: MCP2221 Baustein ansprechen

Wenn 32bitter würd ich eher Arm empfehlen Cortex-M3,4
Billiger und da gibt es den selben CPU Kern von verschiedenen Herstellern.
USB(OTG) gibts an Controllern ab ca 40ct.

Weiterhin gibts da die Toolchain kostenlos sogar die Programmiergeräte gibts als Open Source oder für 20 Eur.
Bei den PICs hab ich die Erfahrung machen müssen das Microchip ihre Toolchain sehr schlecht pflegt sowohl Hardware als auch Software seitig. Allerdings hab ich mit den PIC32 noch nichts zu tun gehabt nur kleinere Controller.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon mschnell » 23. Nov 2016, 10:40 Re: MCP2221 Baustein ansprechen

Mathias hat geschrieben:Gibt es die PICs auch im DIP- Gehäuse, oder gibt es da nur SMD ?

Ja. Ich habe hier z.B. einen auf dem Tisch: -> http://de.farnell.com/digilent/chipkit- ... 0wodkmsD3Q mit -> http://www.microchip.com/wwwproducts/en/PIC32MX250F128B

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Mathias » 23. Nov 2016, 22:53 Re: MCP2221 Baustein ansprechen

Kann ich den "32MX130F064B-ISP :: PIC-Controller, 32-Bit, DIL-28" mit einem Atmega328 vergleichen, ausser, das dieser viel schneller ist ?

https://www.reichelt.de/PIC-32-Controll ... ARCH=pic32
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mschnell » 24. Nov 2016, 11:27 Re: MCP2221 Baustein ansprechen

Ich kenne die ATMegas nicht im Detail und habe aus den vorher diskutierten Gründen auch keine Lust mich damit zu beschäftigen. Für solche Projekte würde ich immer einen PIC32 oder einen ARM-basierten Chip nehmen. Ich würde auch keinen Chip ohne USB OTG einsetzen.

-Michael
mschnell
 
Beiträge: 3159
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon pluto » 24. Nov 2016, 12:01 Re: MCP2221 Baustein ansprechen

@Mathias
Um deine Frage zu beantworten, würde ich sagen: Nein, man kann sie nicht vergleichen:
Es gibt zu viele Unterschiede, laut den Daten die ich bei reichelt sehe, mehr IO Pins, mehr Geschwindigkeit, mehr ADC, mehr Timer und soweiter.

Beim Speicher stecht nur 16 welcher Speicher ist damit gemeint? RAM? FlASH? welche Einheit? KB?

Ich denke der 32MX130F064B-ISP ist dem atMega328 weit überlegen. der atMega328 kostet ja noch mehr und kann noch weniger....
(habe mir noch nicht das Datenblatt angeschaut).

Ich denke, der einzigste Gemeinsamenenner dürfte sein, dass sich beide denke ich mit der Arduino IDE nutzen lassen.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6476
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 17.1 Rebecca | 
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried