 Díky na zvukování k vás na devcon. Až se zvukování k nejvědětního sezionu, který se se zvukování z Pabr Pichá, který je z Čektosným dnevíčem v Pragu. Přijde a děkuju. Díky za intraváčnou a dobré děláme, díky a děláme sezionu na zvukování. Mává sezionu sezionu sezionu na zvukování k nejvědětního sezionu na zvukování. Takže je to jen jen dělá. A když máte mnou většinou a chybíš které sezionu o speciální projektu a takého, to sezionu, díky, díky, díky, a samozřejmě kondakt a zpěvání. All the hardware and software which we have built for this Aria is open source so you can find the documentation for it and so on. So you can reuse the code. The content of today's presentation is some short introduction who knows the way it works here třeba arbitráci, KAN, KANFDE. Oh, mám vždy třeba vytvořené zvuky, protože můžu být nejlepším, který můžu třeba vytvořené zvuky. A když jsem vytvořený zvuky, tady můžu třeba vytvořené zvuky, a abychom nejlepšímovým výzolí borrowedémom prošlená has hořené z kANFDE, který můžu třeba vytvořené z výzolí, který můžu třeba vytvořené, který můžu třeba vytvořené zvuky, pak se přijde o většení a třeba třeba vytvořené zvuky. Až se v tomto věděli, že ten měto se vytvořilo v 1983 roku bylo byt Bosch. A měto vyskává vyskává komunikácia je, aby se vytvořilo vyskává vyskává vás v káře. karena si tady je tady degreeská prendita, že summertugří dát sekávky zálky do jedností, které vytvoří t Yanována a těžké také z paddle po to, na zátové vývodné ráno a vyslyší ho. Inice nároha 1-0, žádou zácovou do 2048 rána. které byli úplně dělávali vás 8 bity. Na úplně 64 vždycky, takže návši dělávali návši dělávali. Na úplně jedný měst, které se vytřelí s větím a s návším květů. Today when you have dimming and back channels for measuring of voltage on the lights, diagnostic of profiler etc. you can find that even that 2048 messages is not so much. So they extended the support to 29 bits in 1991 in End 2 0. A co je vždyť zvíď na toho komunikace je, že je to největné obrývací, které je zběžit na předném idei. A zvýtím se je největné idei, je to největné předném idei. Já jsem vzloužil to v mojí předném idei, ale je to v také vědělé, že v České první dokonu se zvuknit z svou dneckou výtím, a té první dokonu se zvuknit z hlavou dneckou, vynu a zvuknit z nejvímého dneckou. Takže je to zvědět, že jedna státka je zvědět a zvědět se přijet na zvědět a než to, které se přijet na zvědět se přijet na zvědět. Tady zvědět se přijet na zvědět a zvědět se přijet na zvědět. Tady se přijet na zvědět a než to, které se přijet na zvědět a než to, které se přijet na zvědět. Takže je to zvědětat, že na tohle pěknáme, že než jsme připravit komunikáci nebo nějaké zvědětate. Když jste připravit, že na typické káře, když se zvědětate z netvorekou a když se zvědětate šanel, To než než se nejde 30 m. Tady je zájovaně s výkladným výkladním vysvědí na 1 Mbps. Ale jeho nebo někdy je nejvíjší, protože takže nebo se rozvědíte výkladné zvuky, protože je tam velmi čeště, když se zájovaně stříbete zvuky. To je prve, a to může, že vysvědí je nejvíjší. Máte vás vždystvené vynu, které je nejlepší. Je to kvěci, který je závodit, které se závodit a závodit, který je závodit, který je závodit. a to je vždyť vždyť v tomto vědětě. Typicky v dneské káře všechno vytvědětí do 64 bitů, než 64 bitů, jako v předném vědětě. A vždyť je to vždyť vždyť v 500 kilovitř per sekund na vědětě, ale v dneské vědětě když se frekvenci, když spět, když 2 Mbps a všechno 8 Mbps a v automotivě 2 Mbps a všechno a všechno a všechno a všechno a všechno. Je automaticky kámovalo, že je to nezvědětné, které je vysvědětné, které je vysvědětné, které je vysvědětné, které je vysvědětné, které je vysvědětné. Takže, když jsme viděli, můžeme vytvořit datafilu do 64 mbps. A dnes je to extráloké verzi, které je vysvědětné, které je vysvědětné, které je vysvědětné, které je vysvědětné, všechno a všechno a všechno a všechno. Albeitrafii je hodinu, které je vysvědětné, které je vysvědětné, které je vysvědětné. a než se idei nezávodují při arbitráci, ale jsou připravené do výstřenost. Arbitráci jsou návodují 12-bit tady. Svěději na linux systémů, protože linux je úplnit na industriální aplikace, automotiv a také. První implementace byli nejvodní vzdyšci, pro kčaži, na kbylo pro svak. Také jeho bylo rychle integrávtě na se zvíření. My v 2003 roku zovem na hodně potom budíme nějaké zvěřené vzdyšci, které bylo kvůj pře!!!! Bylo nějaké zvěřené projekty, of open source components for your time application and it has been used at some companies up to 2018, at least at 2018 I have get some feedback and supple requests and so on and it was character-based but because can is in the fact a networking standard, then Volkswagen together with Pengutronics company started development of the socket can, which is socket communication based interface to the can hardware and okay, so you can use typical select and bind and so on on the can network, even that it is a little special because the concept of addresses is not so clear or source is a little different from the standard TCP IP communication and so on and this solution has been accepted at 2008 into the Linux mainline. We have helped in this design with computation on bitrates and some other people converted parts of our link and support even to the socket can. And if I return back to my first experiment with scan, we have built some ISA bus card in 1997 for our RS485 communication with out instruments, but we have added there a block to allow to communicate even with a can. Then when we have built our motion control system based on Motorola 68376 chip, which has a token controller, then we have started to play with the can. Then at the university we have more PC104 system for that OSERA project, and we have developed a link and driver based on it. Then we have ported it to the PCI can from Quasar and to the cars from ESD, and it has accumulated support from many, many different hardware and contributors and so on. We have even implemented drivers for Unicontrols company, which use VME-based system, first based on OS9, but when the support of OS9 was terminated, they switch it to the Linux. They look at the Linux as a childish toy and loud as us when we speak about the can and Linux and so on, but when they cannot use any more OS9, then they have been very happy that they have a support and they use our link in the railway vehicles and other applications for many years. Okay, then we have attempted to build a converter between the USB and serial and can communication, and for this we have already built a link and support, and then even socket can drivers. Then we have worked on higher levels of the can communication, which is, for example, can open standard, which is standard how to map parameters and service object to some numbers and indexes and allow to maintain industrial drivers, motor drivers or IO extenders and so on. And we have built this system such a way that it was quite generic because for each device, which can open protocol, so it is that protocol above the basic canlier, you should get electronic data sheet. And we have decided that we will build a general proposed device and library, which can read this data sheet and mimic actual hardware. So, for example, we have some Vago IO terminals, which can open, so we take the data sheet and run our virtual device, virtual, but not so virtual, we will see later. And there is a state machine and some actual interface to the drivers, and our driver's solution was done such a way that it can connect to nutics, linken or socket can drivers, and this is how it looks like inside the can open device. So, basically, there is some object dictionary, which is described by the EDS. So, for example, there is where to read how many IO ports are available on a given device. Ability to access actual IO ports. Then it is possible to map those objects to the process data messages, which is very interesting because one can open basically actual process variables, can be transferred without any need of overhead. They are basically sent directly in the raw can frames because it is possible to allocate for them ID. And then through this mapping, there is a generic mechanism how you can map different bits from different variables to the actual location in the process messages. And our library allows to interface with different can driver's providers and standard on Linux or even on a small microcontroller-based devices. And because we want to connect it even to the hardware to mimic the whole device completely, then we have allowed to load dynamically libraries and describe connection between those objects, which are used for the communication, to the actual real hardware, and we have an IO device built this way. And we have built a device or software, which allows to monitor such network, which allows to communicate and set different parameters and makes, in the fact, a gateway between the TCP-IP communication and the scan open communication. And we have provided a Java-based monitor and QT-based monitor for this. And we have there a demonstration, for example, of IO module, when we have used Linux comedy drivers, which allows to connect to IO devices. So, basically, really, our virtual, it is a question, software can operate exactly the same way as a standard PLC controller, which is providing this functionality of can open extender or IO device. And we have written even comedy drivers for some hardware, from some data acquisition cards, which has been released by one Czech company. And those drivers have been accepted to the main line. So, I will skip this exact example, because it is quite complex, because we can even emulate who that system inside a QMU. This is the way how we can access from the monitor a different variables in this system. We have there even example how to run a profile, which allows to control brushless DC or permanent synchronous magnet motors, steppers motors and so on. And all this can be done with our libraries and connected to the hardware and so on. OK. Then started our attempt to provide a simulator. First attempt to implement a can support for RTMS, which is a real-time executive for multi-processor systems, which is designed initially for US Army and now is used by European Space Agency and NASA. But when we started work on the can in this area, there was a problem that there is not a common hardware. So, for this reason, we have started a Google Summer of Code, which is one of the students, and implemented at the end the QMU emulation of the can hardware. So, today you can run a standard QMU, because it has got into 2018 into the QMU mainline. So, you can run a standard QMU with standard Linux. You can specify when you start a QMU that you want to have there a PCI-based card in your arm or MIPS or x86-based system and drivers automatically load and allows to interconnect a can bus inside that QMU. So, basically run there the software of some engine control unit or something like that and connect it with external hardware and external work through the drivers and real hardware to the standard bus. And because at our university or faculty, there was strong group which support can for unicontrol, score auto, Volkswagen and build the test equipment for this area, which needs not only to have the access to the network, but needs even ability to alternate the actual frames and inject errors and so on. So, you cannot use third party fixed silicon for this. Then there started a project by Andre Ile in 2015 to upgrade these designs for CanFD, that extended version, and at the time I was done at my company a consultation for one Volkswagen subsidiary with their FPGA-based Zing hardware and they want to connect it to multiple can busses and found that it is big problem to get M-CAN licenses from Bosch and that M-CAN core, which is standard CanFD core provided by Bosch is too big that it doesn't fit into their FPGA in the number of channels which they need. So at the time I have started the project and negotiated that this subsidiary Volkswagen bought the design which has started as that experimental tester design at the university, made it open source and paid for adapting it for their specific needs. And this is how CTU CanFD core has slowly developed into the full featured CanFD controller which is fully described, you can find the sources and it allows to work with 5-4 on the input, connect to the socket can between 2 up to 8 TX buffers to send the frames to the network and it is implemented such way that it can be connected to the AXI bus on some. Ksyling Zink FPGAs or it can be connected to APB, to HB. There was even attempt of some people and contributed connection to LITEX which is now used in the hobby project with FPGAs and this design has included even some advanced features for the testing. So for example bus monitoring mode and restrict operation mode and so on. So it is interesting even for such applications. And when we finish the project for Volkswagen, then Andrej Ile, who is main author and at that time a graduate student at our university continued on the project on his own time and built complex infrastructure to allow full testing and basically get very near to full compliance or in the fact we think that we are compliant but we do not have enough money at this moment or need collect too many money to ask for the real certification. So it is waiting for some group of people, companies who has interest to join forces and resources for this. But we have our oven test which are mostly or which are passed by this. OK, and because we want to have even emulator then I have run basher thesis with one of my students and we have implemented emulation of our oven, can FD controller and it is now part of the main line of QMU so you can connect even the hardware through a can FD and run in the fact in the virtual environment a whole engine control unit and so on. And we have support for zinc hardware. Those are our education kits for PCI express FPGAs from Altera, Ciclon Nano, there has been some third party attempt to connect it to LightEx. It has been ported even to some space grade FPGAs and some diagnostic tools and so on. One of our students has used our design as a basis for his oven testing of the open source tool chain to transfer a design to the silicon and so on. Unfortunately, we do not have money to get the silicon yet but we have got even some offers. There are some companies which has done this as exercise how to get it into the state when it can be run on the ASIC and we have even FALTO run version which is used in the space already and when you run some communication or you care about a motion control application or something like that then you need to ensure that your latency in the system do not damage the stability and safety of your control application. Maybe you can know OSEDL Quality Assurance Farm on real time which is a very good service which provides a precise testing of the fully preemptive kernels and standard kernels but for standard Linux kernel you cannot expect anything. There can be 10 millisecond latency if you plug USB or HDMI cable and so on but for a fully preemptive kernel we have been able to run our CAN staff and some control application up to 30 kHz with no detected misses of the sampling so you can see this is some slow arm thing in fact this is I have took from their farm the latency plots for this hardware which I have here and they do the testing for long long time so their long term testing through the many errors shows that well maintained fully preemptive kernel can achieve you cannot do mathematical proof that there will never be a longer latency but you can see that in this logarithmic scale if there is a single overshot of the latency or jitter bigger than 100 something like 20 microsecond on this hardware, slow hardware then you will spot it but we have decided that it is necessary to provide some such guarantee even for a CAN communication because our system allows to measure even up to 10 nanoseconds the times of arrival of the frames and so on we have decided that we switch our older attempt when we have done some assessment of CAN every gateways and drivers infrastructure and system calls for a Volkswagen that we switch it to our new hardware and it was task of one of my students who has finished the thesis last year Matej Wasilevski, who added the time stamping into our driver and a follow up by Bechtschor thesis of Pavel Hronik has finished in the latency testing on the web system and basically we send the CAN message on one bus from one system we receive it by the second CAN FD channel which precisely measures the time but then there is a device under the test which receives the CAN frame and only functionality is to go through the kernel or even in the user space and send it on the other bus and then we measure another time and this way we can exactly measure a duration which is caused by the latency inside the drivers and Linux kernel and so on and this is the test system which runs a daily test of mainline Linux kernel and on the real time patched version of the kernel and this is overview we can do the latency inspection of individual runs and see latency plots we have there this heat map or we can see again this long time plot where we see a latency how many messages basically exceed a given latency you see that there are still some mirror problems and it runs each day and you can find materials for our work and in this area but I work even on some project for European Space Agency for real time control of different devices at this moment on the roof of ESA in the Netherlands is running our motion control to track some satellites and so on ok, so it is all from my side if you have interest take the reflats ask, I can even demonstrate something for you here we have included in our design even the logic analyzers so we can see the signals on the real bus on the virtual buses down to the 10 nanosecond resolution and so on ok, thank you for your attendance and if you have some questions yes, we have work, ok question is if we have work on the security issues with the CAN we cooperate with Oliver Hardkop if you know him from Volkswagen he is behind the start of socket CAN and he has designed a message authenticated CAN variant and we have done the second implementation so they have done their oven and we at the university have done the second one to prove that there is possibility to do interoperability but it was at CAN days so it was based on that 8 byte messages which make the thing quite tricky because it was necessary basically it works for short messages it was possible to provide the cryptography directly with the signal in the 8 bytes but for the longer messages it works such way that message has been sent and if the receiving unit react on the message but then later didn't get the information that it was correct through another message which has a signature then it basically need to abandon the functionality or signal that there is a problem and usually if you have this latency something like 10 milliseconds or something like that then reacting on the incorrect message for so short time is usually not a problem and today on CAN every it could be a better but at this moment I have not worked on this area but he is working Oliver Hardkop is now part of security team of Volkswagen so we can ask him directly maybe he is looking now maybe we can have answer on the chat ok, it is propaganda that it is steering to internet but you know today many new processor units has up to 14 CAN channels on one device so basically yes I am not sure if that attempt to send the TCPIP frame through the CAN is good idea or not maybe not ok but for sure for those smallness around the processor where you need many communication channels which are deterministic real time and so on then the CAN is still maybe growing its area of application and today for example I know that some companies are developing directly CANFD light based chips so directly something like i2C but i2C is not good idea for automotive because it doesn't protect the messages and so on it is good for connection of the chip on a single board but not for anything more but today there are attempts to use CANFD light for this area for example that you will have chips which are directly which has to be cheap they have directly finite state machine inside the chip and they can be connected to standard CANFD controllers and you have chips Texas Instruments has now new Citara versions with 14 CANFD so they probably do not think that they would not be used you know because if they have so many interfaces in the hardware at this moment we only do monitoring and to see what happens we have already catch one error on the fully preemptive kernel which has been resolved in one week by the people from Linootronics so it was a fast reaction but it was hard fault basically ok this is available online so you can test it ok at this moment at the university we do not have we can run maybe ten kernel test builds and test per day or something like that and we have limited amount of the hardware but we are in the contact with OECDL which has that quality assurance farm for a real time and they plan to test our solution on their farm so basically company which means doing the business seriosly then can ask OECDL to run their hardware there and provide them a feedback on their development branches our solution is open it can be run even on different hardware than on this one basically you need a tool reasonable can FD controllers with precise time stamping and you can run our system in house ok so thank you